1.utf-8下中文字符长度为3,如:echo strlen(‘中’),输出为3;
代码为如下:
/**
*$string 为要截取的中文或英文混合字符
*length为要截取的长度
*/
function utf_string($string,$length){
$str=' ';
if(strlen($string)>$length){
for($i=0;$i<$length;$i++){
if(ord(substr($string,$i,1))>0xa0){//0xa0代表中文字符的开始
if($i+2<strlen($string)){ $str.=substr($string,$i,3);
$i+=2;}
}else{
$str.=substr($string,$i,1);
}
}
}else{
$str=$string;
}
$str.='......';
return $str;
}