当前位置: 代码迷 >> PHP >> PHP 截取汉语(UTF8版)
  详细解决方案

PHP 截取汉语(UTF8版)

热度:513   发布时间:2012-10-26 10:30:59.0
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;
?}
}

  相关解决方案