龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php截取包含混合字符串长度的函数

时间:2017-06-23 11:18来源:网络整理 作者:网络 点击:
分享到:
php截取包含混合字符串长度的函数 [代码片段(24行)]
 肯定是中文、英文、特殊字符都能实现的。
//utf-8中文截取,单字节截取模式
function cn_substr_utf8($str,$length,$append='...',$start=0){
    if(strlen($str)<$start+1){
        return '';
    }
    preg_match_all("/./su",$str,$ar);
    $str2='';
    $tstr='';
    for($i=0;isset($ar[0][$i]);$i++){
        if(strlen($tstr)<$start){
            $tstr.=$ar[0][$i];
        }else{
            if(strlen($str2)<$length + strlen($ar[0][$i])){
                $str2.=$ar[0][$i];
            }else{
                break;
            }
        }
    }
    return $str==$str2?$str2:$str2.$append;
}
//----使用举例如下:
echo cn_substr_utf8('我是一个,和哈,哦也,,国家!',12);
精彩图集

赞助商链接