您好,登錄后才能下訂單哦!
$b = mb_strpos($name,'曾效力新');
$encoding = strtoupper(mb_detect_encoding($name, array("UTF-8", "GBK", "GB2312", "BIG5", "ASCII")));
if (strcmp('UTF-8', $encoding) !== 0){
$content = mb_convert_encoding($name, 'UTF-8', $encoding);
}
substr()函數
substr(string,start,length)
string表示要截取的對象,start表示從哪個位置開始截取,0表示從頭開始,正數表示從這個數的位置后面截取,負數表示從結尾算開始截取的位置,但依然是從左到右截,length表示截取長度.負數表示排除或忽略結尾多少個字符.比如:
代碼如下 | 復制代碼 |
<?php $siteurl = 'www.111cn.net'; print_r (substr($siteurl,4));exit; |
//則返回: 111cn.net表示從頭第4個字符開始,返回后面的所有字符.
代碼如下 | 復制代碼 |
<?php |
如果要截取雙字節的漢字.則要用PHP mb_substr函數或mb_strcut函數,但這兩個函數依賴php擴展php_mbstring.dll組件,所以要配置你的服務器.即把php安裝目錄中的php_mbstring.dll文件復制到你的windows 2003 的c盤的Windows/system32目錄中.
舉個例子:
代碼如下 | 復制代碼 |
<?php |
輸出:這樣一來我的字
代碼如下 | 復制代碼 |
<?php |
輸出:這樣一
從上面的例子可以看出,mb_substr是按字來切分字符,而mb_strcut是按字節來切分字符,但是都不會產生半個字符的現象……
代碼如下 | 復制代碼 |
<?php echo mb_substr('飛花院博客feihuayuan',0,9,'utf-8'); mb_strcut('飛花院博客feihuayuan',0,9,'utf-8'); |
再舉個例子,有一段文字, 分別用mb_substr和mb_strcut來做切分:
PLAIN TEXT
CODE:
代碼如下 | 復制代碼 |
<?php echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8'); echo "<br>"; echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); |
輸出結果如下:
mb_substr:我是一串比較
mb_strcut:我是
本文章總結
從上面實例可以看得出來,substr只支持單字節的,這樣只適合英文截取,而mb_substr函數是雙字體截取了,正好可用于中文了,而mb_strcut是三字節了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。