functiontruncate_utf8_string($string,$length,$etc='...'){
$result='';
$string=html_entity_decode(trim(strip_tags($string)),ENT_QUOTES,'UTF-8');
$strlen=strlen($string);
for($i=0;(($i<$strlen)&&($length>0));$i++){
if($number=strpos(str_pad(decbin(ord(substr($string,$i,1))),8,'0',STR_PAD_LEFT),'0')){
if($length<1.0){
break;
}
$result.=substr($string,$i,$number);
$length-=1.0;
$i+=$number-1;
}else{
$result.=substr($string,$i,1);
$length-=0.5;
}
}
$result=htmlspecialchars($result,ENT_QUOTES,'UTF-8');
if($i<$strlen){
$result.=$etc;
}
return$result;
}
如果需要截取utf-8格式的字符串,直接调用这个函数即可。
<?php
$str="如果需要截取utf-8格式的字符串,直接调用这个函数即可。";
echotruncate_utf8_string($str,10);//输出结果:如果需要截取utf-8格...
?>
|