比较完善的php取字符函数

用了几个取字符函数mb_substr之类的都不怎么好用,还是这个比较好用一点。


/**
 * 截断函数,防止乱码
 *
 *
 */
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;
}


你可能感兴趣的:(比较完善的php取字符函数)