首页 >php教程 >PHP源码 >PHP 截取中文字符

PHP 截取中文字符

PHP中文网
PHP中文网原创
2016-05-25 17:10:521134浏览

php代码

/**
 * PHP 截取中文字符
 * echo cn_substr_utf8($cc,65)
 */
function cn_substr_utf8($str, $length, $start=0)
{
$lgocl_str=$str;
//echo strlen($lgocl_str)."||".$length;
    if(strlen($str) < $start+1)
    {
        return &#39;&#39;;
    }
    preg_match_all("/./su", $str, $ar);
    $str = &#39;&#39;;
    $tstr = &#39;&#39;;

    //为了兼容mysql4.1以下版本,与数据库varchar一致,这里使用按字节截取
    for($i=0; isset($ar[0][$i]); $i++)
    {
        if(strlen($tstr) < $start)
        {
            $tstr .= $ar[0][$i];
        }
        else
        {
            if(strlen($str) < $length + strlen($ar[0][$i]) )
            {
                $str .= $ar[0][$i];
            }
            else
            {
                break;
            }
        }
    }
    if(strlen($lgocl_str)<=$length){
    }else{
    $str.="...";
    }
    return $str;
}

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn