轉(zhuǎn)載:https://blog.csdn.net/bai9474500755/article/details/51059520
首先來(lái)介紹str_split()這個(gè)函數(shù);
它的作用是將字符串分割為數(shù)組;
例如:
$str='abcde';
str_plite($str);
打印結(jié)果如下:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
)
看似很好用的樣子;但是作為中國(guó)程序員;不可避免的要和中文打交道;
這時(shí)候再用str_splite就會(huì)悲劇的發(fā)現(xiàn)亂碼了;;;
不要怕;preg_splite可以拯救這個(gè)問(wèn)題;
當(dāng)然是需要配合正則使用的;
/**
* 將字符串分割為數(shù)組
* @param string $str 字符串
* @return array 分割得到的數(shù)組
*/
function mb_str_split($str){
return preg_split('/(?<!^)(?!$)/u', $str );
}
$str='白俊遙博客';
mb_str_split($str);
打印結(jié)果如下:
Array
(
[0] => 白
[1] => 俊
[2] => 遙
[3] => 博
[4] => 客
)
自己測(cè)試:
$keyword = 'A5646as愛(ài)喝酒武A5646as愛(ài)喝酒武1,,.。';
$aa = preg_split('/(?<!^)(?!$)/u',$keyword);
dump($aa);die;
輸出結(jié)果:
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 '愛(ài)' (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 '愛(ài)' (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)