本文实例讲述了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程序设计有所帮助。