本文实例讲述了php截取中文字符串函数。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:<?php//中文字符串截取function substr_zh($string,$sublen,$start=0,$code="UTF-8"){ if($code=="UTF-8"){  $pa = "/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/";  preg_match_all($pa,$string,$t_string);  if(count($t_string[0])-$start > $sublen){   return join("",array_slice($t_string[0],$start,$sublen))."...";   //array_slice()在数组中根据条件取出一段值,参数(数组,开始位置,[长度])  }else{   return join("",array_slice($t_string[0],$start,$sublen));  } }else{  $start = $start*2;  $sublen = $sublen*2;  $strlen = strlen($string);  $tmpstr = "";  for($i=0;$i<$strlen;$i++){   if($i>$start && $i<($start+$sublen)){    if(ord(substr($string,$i,1))>129){    //ord():返回字符串第一个字符的ASCII值    //substr():返回字符串的一部分     $tmpstr .= substr($string,$i,2);    }else{     $tmpstr .= substr($string,$i,1);    }   }   if(ord(substr($string,$i,1))>129){    $i++;   }   if(strlen($tmpstr)<$strlen){    $tmpstr .= "...";   }  }  return $tmpstr; }}$string ="顶置车顶起困境檲上盯协押畏奇才趄肯困楞右脚可爱有";echo substr_zh($string,10,0,"gb2312");?>

希望本文所述对大家的php程序设计有所帮助。