Heim > php教程 > php手册 > php中支持多种编码的中文字符串截取函数!

php中支持多种编码的中文字符串截取函数!

WBOY
Freigeben: 2016-06-13 12:31:49
Original
1059 Leute haben es durchsucht

支持多种编码的中文字符串截取函数!  

复制代码 代码如下:


/*  
  * @todo 中文截取,支持gb2312,gbk,utf-8,big5   
  *  
  * @param string $str 要截取的字串  
  * @param int $start 截取起始位置  
  * @param int $length 截取长度  
  * @param string $charset utf-8|gb2312|gbk|big5 编码   
  * @param $suffix 是否加尾缀  
  */   

function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)  
{  
 if(function_exists("mb_substr"))  
  return mb_substr($str, $start, $length, $charset);  
 $re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";   
 $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";  
 $re['gbk']   = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";  
 $re['big5']   = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";   
 preg_match_all($re[$charset], $str, $match);  
 $slice = join("",array_slice($match[0], $start, $length));  
 if($suffix) return $slice."…";  
 return $slice;  

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage