玩龙天子 发表于 2017-3-26 06:31:05

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;
 }
}
页: [1]
查看完整版本: PHP 截取中文(UTF8版)