服务器之家

服务器之家 > 正文

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

时间:2020-09-24 18:03     来源/作者:PHP教程网

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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>';
?>

运行结果:

?
1
2
3
4
5
6
7
8
9
Array
(
  [0] => 我爱北京
  [1] => 3我爱上
  [2] => 海-我爱
  [3] => xian
  [4] => ggan
  [5] => g
)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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不朽 )

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

标签:

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国 2021-05-08
返回顶部