1       public function  cutStr($string,  $start ,$sublen, $extstring='字符截取,解决中文的截取问题', $code = 'UTF-8')    
 2字符截取,解决中文的截取问题   {
 3字符截取,解决中文的截取问题       if ($code == 'UTF-8'
 4字符截取,解决中文的截取问题       {
 5字符截取,解决中文的截取问题           $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]/"
 6字符截取,解决中文的截取问题           preg_match_all($pa, $string, $t_string); 
 7字符截取,解决中文的截取问题           if(count($t_string[0]) - $start > $sublen
 8字符截取,解决中文的截取问题             return join('', array_slice($t_string[0], $start, $sublen)).$extstring
 9字符截取,解决中文的截取问题             return join('', array_slice($t_string[0], $start, $sublen)); 
10字符截取,解决中文的截取问题       } else { 
11字符截取,解决中文的截取问题           $start = $start*2
12字符截取,解决中文的截取问题           $sublen = $sublen*2
13字符截取,解决中文的截取问题           $strlen = strlen($string); 
14字符截取,解决中文的截取问题           $tmpstr = ''
15字符截取,解决中文的截取问题           for($i=0$i<$strlen$i++
16字符截取,解决中文的截取问题           { 
17字符截取,解决中文的截取问题               if($i>=$start && $i<($start+$sublen)) 
18字符截取,解决中文的截取问题               { 
19字符截取,解决中文的截取问题                   if(ord(substr($string, $i, 1))>129
20字符截取,解决中文的截取问题                   {
21字符截取,解决中文的截取问题                       $tmpstr.= substr($string, $i, 2); 
22字符截取,解决中文的截取问题                   } else { 
23字符截取,解决中文的截取问题                       $tmpstr.= substr($string, $i, 1); 
24字符截取,解决中文的截取问题                   } 
25字符截取,解决中文的截取问题               } 
26字符截取,解决中文的截取问题               if(ord(substr($string, $i, 1))>129$i++
27字符截取,解决中文的截取问题           } 
28字符截取,解决中文的截取问题           if(strlen($tmpstr)<$strlen ) $tmpstr.= $extstring
29字符截取,解决中文的截取问题           return $tmpstr
30字符截取,解决中文的截取问题       } 
31字符截取,解决中文的截取问题   } 

相关文章:

  • 2021-10-21
  • 2022-03-09
  • 2022-12-23
  • 2022-12-23
  • 2022-02-18
  • 2021-12-20
  • 2021-10-11
猜你喜欢
  • 2022-02-25
  • 2022-12-23
  • 2022-12-23
  • 2023-04-03
  • 2022-12-23
  • 2021-11-25
相关资源
相似解决方案