解決substr()分割中文字的問題

我們常常在網站上看到主頁中都會擺放最新的資訊,例如最新消息:

1.第一則新聞就是?...
2.第二則新聞就是?...

↑以上是使用substr()來將一則新聞的主題分割為固定的文字長度後,有可能會出現的情況,如果substr分割到該中文字串中,其中一個中文字的一半時,就會出現"?"問題。那應該怎樣去解決呢?

我們可以使用mb_substr();來解決這個問題,以下是使用的例子:

$string = '第一則新聞就是我什麼都不知道';
$string = mb_substr($string, 0, 5, 'BIG-5');
echo $string;

或可使用:

mb_internal_encoding("UTF-8");
$string ='第一則新聞就是我什麼都不知道';
$mystring = mb_substr($string,0,5);
echo $mystring;

沒有留言: