php擷取字串幾個實用的函式

2022-09-07 22:18:38 字數 1708 閱讀 3115

1.substr(源字串,其實位置[,長度])-擷取字串返回部分字串

<?php

$str ="phpddt.com";

echo substr($str,2);

echo substr($str,2,3);//pdd

echo substr($str,-2);//om 負數從結尾開始取

?>

但是當你擷取中文字串的時候很容易出現亂碼,因為乙個漢字是兩個位元組,而乙個英文本母是乙個位元組。解決辦法如下:

2.mb_substr(),使用方法和substr相同,不過要開啟php.ini裡面extension=php_mbstring.dll擴充套件,不用擔心,一般的空間商

都會開啟這個擴充套件的。

<?php

echo mb_substr("php點點通",1,3,"utf-8");//hp點

?>

**如下:

substr(string,start,length)

其中start的引數

正數 - 在字串的指定位置開始

負數 - 在從字串結尾的指定位置開始

0 - 在字串中的第乙個字元處開始

strstr() 函式搜尋乙個字串在另乙個字串中的第一次出現。

該函式返回字串的其餘部分(從匹配點)。如果未找到所搜尋的字串,則返回 false。

1

strstr('[email protected]', '@', true); //

引數設定true, 返回查詢值@之前的首部,abc

2strstr( '[email protected]', '@'); //

預設返回查詢值@之後的尾部,@jb51.net

(1)擷取gb2312中文字串

<?php

//擷取gb2312中文字串

functionmysubstr($str,$start,$len)else

$tmpstr .=substr($str,$i,1);

}return$tmpstr;

}echo mysubstr("php點點通",1,5);//php點

?>

(2)擷取utf8編碼的多位元組字串 

<?php

//擷取utf8字串

functionutf8substr($str,$from,$len)

'.'((?:[\x00-\x7f]|[\xc0-\xff][\x80-\xbf]+)).*#s',

'$1',$str);

}echo utf8substr("php點點通",1,5);//hp點點通

?>

(3)支援 utf-8、gb2312都支援的漢字擷取函式 

<?php

//同時支援 utf-8、gb2312都支援的漢字擷取函式 ,預設編碼是utf-8

functioncut_str($string,$sublen,$start =0,$code ='utf-8')

else

else

}if(ord(substr($string,$i,1))>129)$i++;

}if(strlen($tmpstr)<$strlen )$tmpstr.="...";

return$tmpstr;}}

$str ="php點點通提供原創php教程";

echo cut_str($str,8,0);//php點點通提供...

?>

php擷取字串函式

str 123456789 echo substr str 0 3 從左邊第一位字元起擷取3位字元 結果 123 echo substr str 3 3 從左邊第3位字元起擷取3位字元 結果 456 html view plain copy rest substr abcdef 1 返回 f res...

PHP擷取字串

php 自帶幾種字串擷取函式,其中常用到的就是 substr 和 mb substr。前者在處理中文時,gbk 為 2 個長度單位,utf 為 3 個長度單位,後者指定編碼後,乙個中文即為 1 個長度單位。substr 不用說,有時會截 1 3 個中文或半個中文,當然顯示出來是亂碼了,相對來說 mb...

PHP擷取字串

php 構造字串 str abcdefghijklmnopqrstuvwxyz echo 原字串 str.按各種方式進行擷取 str1 substr str,5 echo 從第5個字元開始取至最後 str1.str2 substr str,9,4 echo 從第9個字元開始取4個字元 str2.st...