This article mainly introduces the function of intercepting Chinese strings in PHP. It analyzes PHP's techniques for Chinese string operations with examples. Pay attention to the conversion problem between utf-8 and gb2312 encoding. It has certain reference value. Friends in need can refer to it. Next
The example in this article describes the PHP interception Chinese string function. The specific implementation method is as follows:
The code is as follows:
<?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'); ?>
Summary: The above is the entire content of this article, I hope it will be helpful to everyone's learning.
Related recommendations:
How to create a text message board in PHP
##PHP How to write a prompt box similar to alert() in js
phpHow to use the array_merge() function to merge two arrays
The above is the detailed content of Tips for intercepting Chinese string functions in PHP. For more information, please follow other related articles on the PHP Chinese website!