当前位置 : 主页 > 网络编程 > PHP >

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

来源:互联网 收集:自由互联 发布时间:2021-07-03
肯定是中文、英文、特殊字符都能实现的。//utf-8中文截取,单字节截取模式function cn_substr_utf8($str,$length,$append='...',$start=0){ if(strlen($str)$start+1){ return ''; } preg_match_all("/./su",$str,$ar); $str2
 肯定是中文、英文、特殊字符都能实现的。
//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);
网友评论