PHP实现字符串截断不乱码的方法二
原创
52cxy
03-26 10:01
阅读数:1031
上一篇文章已经分享过此类方法,区别在于一个英文字符统计成一个还是半个
//从字符串开头开始截取指定长度的子串
//一个英文字符算1个长度
//一个汉字算1个长度
function getSubWord($str, $len){
$tmpstr = "";
$getCount = 0;
$maxLen = strlen($str);
for($i=0;$i<$maxLen;$i++){
if(ord($str[$i]) >= 224){
$getCount++;
if($getCount>$len) break;
$tmpstr .= substr($str, $i, 3);
$i++;$i++;
}
elseif(ord($str[$i]) >= 192){
$getCount++;
if($getCount>$len) break;
$tmpstr .= substr($str, $i, 2);
$i++;
}
else{
$tmpstr .= substr($str, $i, 1);
$getCount += 1;
}
if($getCount>=$len) break;
}
return $tmpstr;
}共0条评论