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。
1strstr('[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...