支持中文的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不朽)
以上所述就是本文的全部内容了,希望大家能够喜欢。