substr()函數用來截取字符串,但是對於中文字符會出現問題,而mb_substr()和mb_strcut這兩個函數可以,用法與substr()相似,只是在函數最後要加入多一個參數,以設定字符串的編碼,使用這兩個函數需要在php.ini中把php_mbstring.dll打開。
<?php header("content-type:text/html; charset=utf-8"); $string = "你好我好大家好"; echo strlen($string).'</br>'; echo mb_substr($string,0,4,'utf-8').'...</br>'; echo mb_strcut($string,0,4,'utf-8').'...'; ?>
輸出的結果:
21
你好我好...
你...
從上面的例子可以看出,mb_substr是按字來分割字符,而mb_strcut是按字節來分割字符,但是都不會產生半個字符的現象。