在網站應用中時常需要對相應的字串進行擷取。最常用的是使用substr函式對字串進行擷取。
然而,substr和strlen函式只在處理英文字串時可以正確使用,在擷取中文字元時,時常出現亂碼。這時,可以使用mb_substr和mb_strlen函式。後者與前者用法相似,區別在於後者需要在使用過程中新增一個引數。
以mb_substr為例:
string mb_substr ( string
$str
, int $start
[, int $length
[, string $encoding
]] )前三個引數與substr相同,最後一個引數為字串的編碼格式。
例如:
<?php $str = "中a文a測a試a字a符,使用mb_substr可以解決亂碼。"; echo "輸出測試文字:".$str."<br>"; echo "字串的長度為:".mb_strlen($str)."<br>"; echo "擷取前五個字元:".mb_substr($str, 0, 5 , 'utf-8'); ?>
輸出的結果為:
這樣就解決了中文亂碼的問題。