支持中文的PHP按字符串长度分割成数组代码
以下是我编写的代码,实现对中英文混杂字符进行分割:
<?php functionmbStrSplit($string,$len=1){ $start=0; $strlen=mb_strlen($string); while($strlen){ $array[]=mb_substr($string,$start,$len,"utf8"); $string=mb_substr($string,$len,$strlen,"utf8"); $strlen=mb_strlen($string); } return$array; } header('Content-type:text/html;charset=utf-8'); $str='我爱北京3我爱上海-我爱xianggang'; $r=mbStrSplit($str,4); echo'<pre>'; print_r($r); echo'</pre>'; ?>
运行结果:
Array ( [0]=>我爱北京 [1]=>3我爱上 [2]=>海-我爱 [3]=>xian [4]=>ggan [5]=>g )
<?php functionstr_split_unicode($str,$l=0){ if($l>0){ $ret=array(); $len=mb_strlen($str,"UTF-8"); for($i=0;$i<$len;$i+=$l){ $ret[]=mb_substr($str,$i,$l,"UTF-8"); } return$ret; } returnpreg_split("//u",$str,-1,PREG_SPLIT_NO_EMPTY); } ?> $s="还未如愿sss见gfg者不rtret不朽";//Mildmilk print_r(str_split($s,5)); print_r(str_split_unicode($s,5)); //输出 //Array([0]=>还��[1]=>�如�[2]=>��sss[3]=>见gf[4]=>g者�[5]=>��rtr[6]=>et不[7]=>朽) //Array([0]=>还未如愿s[1]=>ss见gf[2]=>g者不rt[3]=>ret不朽)
以上所述就是本文的全部内容了,希望大家能够喜欢。