首页 > 开发 > PHP > 正文

支持中文的PHP按字符串长度分割成数组代码

2024-05-04 23:35:20
字体:
来源:转载
供稿:网友

自己编写的PHP按字符串长度分割成数组代码,支持中文字符,下面给出代码和使用方法,有需要的小伙伴可以参考下。

以下是我编写的代码,实现对中英文混杂字符进行分割:

 

 
  1. <?php 
  2. function mbStrSplit ($string$len=1) { 
  3. $start = 0; 
  4. $strlen = mb_strlen($string); 
  5. while ($strlen) { 
  6. $array[] = mb_substr($string,$start,$len,"utf8"); 
  7. $string = mb_substr($string$len$strlen,"utf8"); 
  8. $strlen = mb_strlen($string); 
  9. return $array
  10.  
  11. header('Content-type:text/html;charset=utf-8'); 
  12. $str = '我爱北京3我爱上海-我爱xianggang'
  13. $r = mbStrSplit($str, 4); 
  14. echo '<pre>'
  15. print_r($r); 
  16. echo '</pre>'
  17. ?> 

运行结果:

 

 
  1. Array 
  2. [0] => 我爱北京 
  3. [1] => 3我爱上 
  4. [2] => 海-我爱 
  5. [3] => xian 
  6. [4] => ggan 
  7. [5] => g 

 

 
  1. <?php 
  2. function str_split_unicode($str$l = 0) { 
  3. if ($l > 0) { 
  4. $ret = array(); 
  5. $len = mb_strlen($str,"UTF-8"); 
  6. for ($i = 0; $i < $len$i += $l) { 
  7. $ret[] = mb_substr($str$i$l,"UTF-8"); 
  8. return $ret
  9. return preg_split("//u"$str, -1, PREG_SPLIT_NO_EMPTY); 
  10. ?> 
  11. $s ="还未如愿sss见gfg者不rtret不朽"// Mild milk 
  12. print_r(str_split($s, 5)); 
  13. print_r(str_split_unicode($s, 5)); 
  14.  
  15. //输出 
  16. //Array ( [0] => 还�� [1] => �如� [2] => ��sss [3] => 见gf [4] => g者� [5] => ��rtr [6] => et不 [7] => 朽 ) 
  17. //Array ( [0] => 还未如愿s [1] => ss见gf [2] => g者不rt [3] => ret不朽 ) 

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表