PHP 計算字符串長度函數

PHP內置的字符串長度函數strlen無法正確處理中文字符串,它得到的只是字符串所占的字節數。對於GB2312的中文編碼,strlen得到的值是漢字個數的2倍,而對於UTF-8編碼的中文,就是3倍的差異了(在UTF-8編碼下,一個漢字占3個字節)。以下函數可以得出正確的字符串字符個數。

function stringLength($str){
    $c = 0;
    for($i=0;$i<strlen($str);$i++){
        if(ord(substr($str,$i,1))>0xa0){
            $i+=2;
        }
        $c++;
    }
    return $c;
}
原文地址:https://www.cnblogs.com/helin/p/3270380.html