比較完善的php取字符函數

用瞭幾個取字符函數mb_substr之類的都不怎麼好用,還是這個比較好用一點。

[php] 
/**
 * 截斷函數,防止亂碼
 *
 *
 */ 
function z_substr($sourcestr='',$i=0,$cutlength=150,$endstr='') 

    $str_length=strlen($sourcestr);//字符串的字節數 
    while (($n<$cutlength) and ($i<=$str_length)) 
    { 
        $temp_str=substr($sourcestr,$i,1); 
        $ascnum=Ord($temp_str);//ascii碼 
        if ($ascnum>=224) 
        { 
            $returnstr=$returnstr.substr($sourcestr,$i,3); 
            $i=$i+3; 
            $n++; 
        }elseif ($ascnum>=192) 
        { 
            $returnstr=$returnstr.substr($sourcestr,$i,2); 
            $i=$i+2; 
            $n++; 
        }else 
        { 
            $returnstr=$returnstr.substr($sourcestr,$i,1); 
            $i=$i+1; 
            $n=$n+0.5; 
        } 
    } 
    if($i<$str_length)$returnstr.=$endstr; 
    return $returnstr; 

作者:youaregoo

You May Also Like