Tips for intercepting Chinese string functions in PHP

墨辰丷
Release: 2023-03-31 21:22:01
Original
2559 people have browsed it

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=&#39;UTF-8&#39;){
 if($code==&#39;UTF-8&#39;){
  $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(&#39;&#39;,array_slice($t_string[0],$start,$sublen))."...";
   //array_slice()在数组中根据条件取出一段值,参数(数组,开始位置,[长度])
  }else{
   return join(&#39;&#39;,array_slice($t_string[0],$start,$sublen));
  }
 }else{
  $start = $start*2;
  $sublen = $sublen*2;
  $strlen = strlen($string);
  $tmpstr = &#39;&#39;;
  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,&#39;gb2312&#39;);
?>
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!