Home  >  Article  >  php教程  >  php 中文字符截取函数

php 中文字符截取函数

WBOY
WBOYOriginal
2016-06-13 11:22:24925browse

这是一款专业用来处理php 中文字符裁取函数哦,解决了中文字符截取会出现筹码的问题哦。

这是一款专业用来处理php 中文字符裁取函数哦,解决了中文字符截取会出现筹码的问题哦。

global $charset;

 if(strlen($string)   return $string;
 }
 $string = str_replace(array('&', '"', '<', '>'), array('&', '"', ''), $string);
 $strcut = '';
 if(strtolower($charset) == 'utf-8') {
  $n = $tn = $noc = 0;
  while($n    $t = ord($string[$n]);
   if($t == 9 || $t == 10 || (32     $tn = 1; $n++; $noc++;
   } elseif (194     $tn = 2; $n += 2; $noc += 2;
   } elseif (224     $tn = 3; $n += 3; $noc += 2;
   } elseif (240     $tn = 4; $n += 4; $noc += 2;
   } elseif (248     $tn = 5; $n += 5; $noc += 2;
   } elseif ($t == 252 || $t == 253) {
    $tn = 6; $n += 6; $noc += 2;
   } else {
    $n++;
   }
   if($noc >= $length) {
    break;
   }
  }
  if($noc > $length) {
   $n -= $tn;
  }
  $strcut = substr($string, 0, $n);
 } else {
  for($i = 0; $i    $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
  }
 }
 $strcut = str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $strcut);

 return $strcut.$dot;
}


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn