|
PHP复制代码 //按字节数截取 如果卡在一个字中间就向左移位 直到一个新宽字符结束
function utf8cutlen ($s, $l){
$n = strlen($s);
if($s == '' || $n <= $l){
return $s;
}
$l--;
while(strlen($s{$l})){
$c = ord($s{$l});
if(!($c&0x80)) return substr($s, 0, $l+1);
if(($c & 0xC0) == 0xC0) return substr($s, 0, $l);
$l--;
}
return '';
}
//按汉字数截取
function utf8cutnum ($s, $l){
$n = strlen($s);
$i=$k=0;
while(strlen($s{$i})){
$c = ord($s{$i});
if (!($c & 0x80)) $k+=0.5;
elseif (($c & 0xC0) == 0xC0) $k++;
if($k>$l){
break;
}
$i++;
}
return substr($s, 0, $i);
} 复制代码
本人原创,欢迎指正 uponcn@gmail.com |
评分
-
查看全部评分
|