PHP substr()函數可以 分割文字,但要分割的文字如果包括中文字符往往會遇到問題,這時可以用mb_substr()/mb_strcut這個函數,mb_substr() /mb_strcut的用法與substr()相似,只是在mb_substr()/mb_strcut最後要加入多一個參數,以設定字符串的編碼,但是 一般的服務器都沒打開php_mbstring.dll,需要在php.ini在把php_mbstring.dll打開。
mbstring 函數的說明:
php的mbstring擴展模塊提供了多字節字符的處理能力,平常最常用的就是用mbstring來切分多字節的中文字符,這樣可以避免出現半個字符的情況,由於是php的擴展,它的性能也要比一些自定義的多字節切分函數要好上一些。
再舉個例子,有一段文字, 分別用mb_substr和mb_strcut來做切分:
<?php
$str = '我是一串比較長的中文-www.webjx.com';
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的各種組合用法
$rest = substr("abcdef", 1); // returns "bcdef"
$rest = substr("abcdef", 1, 3); // returns "bcd"
$rest = substr("abcdef", -1); // returns "f"
$rest = substr("abcdef", -3, 1); // returns "d"
$rest = substr("abcdef", 1, -1); // returns "bcde"
$rest = substr("abcdef", -3, -1); // returns "de"