支持中文的PHP按字符串长度分割成数组代码
发布人:shili8
发布时间:2022-12-10 13:13
阅读次数:15
以下是我编写的代码,实现对中英文混杂字符进行分割:
<?php
function mbstrsplit ($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
function str_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;
}
return preg_split("//u", $str, -1, preg_split_no_empty);
}
?>
$s ="还未如愿sss见gfg者不rtret不朽"; // mild milk
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不朽 )
以上所述就是本文的全部内容了,希望大家能够喜欢。

