转载:https://blog.csdn.net/bai9474500755/article/details/51059520
首先来介绍str_split()这个函数;
它的作用是将字符串分割为数组;
例如:
$str='abcde';
str_plite($str);
打印结果如下:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
)
看似很好用的样子;但是作为中国程序员;不可避免的要和中文打交道;
这时候再用str_splite就会悲剧的发现乱码了;;;
不要怕;preg_splite可以拯救这个问题;
当然是需要配合正则使用的;
/**
* 将字符串分割为数组
* @param string $str 字符串
* @return array 分割得到的数组
*/
function mb_str_split($str){
return preg_split('/(?<!^)(?!$)/u', $str );
}
$str='白俊遥博客';
mb_str_split($str);
打印结果如下:
Array
(
[0] => 白
[1] => 俊
[2] => 遥
[3] => 博
[4] => 客
)
自己测试:
$keyword = 'A5646as爱喝酒武A5646as爱喝酒武1,,.。';
$aa = preg_split('/(?<!^)(?!$)/u',$keyword);
dump($aa);die;
输出结果:
array (size=27)
0 => string 'A' (length=1)
1 => string '5' (length=1)
2 => string '6' (length=1)
3 => string '4' (length=1)
4 => string '6' (length=1)
5 => string 'a' (length=1)
6 => string 's' (length=1)
7 => string '爱' (length=3)
8 => string '喝' (length=3)
9 => string '酒' (length=3)
10 => string '武' (length=3)
11 => string 'A' (length=1)
12 => string '5' (length=1)
13 => string '6' (length=1)
14 => string '4' (length=1)
15 => string '6' (length=1)
16 => string 'a' (length=1)
17 => string 's' (length=1)
18 => string '爱' (length=3)
19 => string '喝' (length=3)
20 => string '酒' (length=3)
21 => string '武' (length=3)
22 => string '1' (length=1)
23 => string ',' (length=3)
24 => string ',' (length=1)
25 => string '.' (length=1)
26 => string '。' (length=3)
网友评论