日期:2014-05-17  浏览次数:20486 次

PHP 截取中文(UTF8版)

function SubTitle($String,$Length) {
?if (mb_strwidth($String, 'UTF8') <= $Length ){
??return $String;
?}else{
??$I = 0;
??$len_word = 0;
??while ($len_word < $Length){
???$StringTMP = substr($String,$I,1);
???if ( ord($StringTMP) >=224 ){
????$StringTMP = substr($String,$I,3);
????$I = $I + 3;
????$len_word = $len_word + 2;
???}elseif( ord($StringTMP) >=192 ){
????$StringTMP = substr($String,$I,2);
????$I = $I + 2;
????$len_word = $len_word + 2;
???}else{
????$I = $I + 1;
????$len_word = $len_word + 1;
???}
???$StringLast[] = $StringTMP;
??}
??/* raywang edit it for dirk for (es/index.php)*/
??if (is_array($StringLast) && !empty($StringLast)){
???$StringLast = implode("",$StringLast);
???$StringLast .= "...";
??}
??return $StringLast;
?}
}