The PHP written by myself is divided into array codes according to the length of the string and supports Chinese characters. The code and usage are given below For the method, friends in need can refer to it.
The following is the code I wrote to segment Chinese and English mixed characters:
?
2 3
4
|
<🎜>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 = 'I love Beijing 3 I love Shanghai-I love xianggang';<🎜>
<🎜>$r = mbStrSplit($str, 4);<🎜>
<🎜>echo ''; print_r($r); echo ''; ?> |
1 2 3 4 5 6 7 8 9 | Array ( [0] => I love Beijing [1] => 3 I’m in love [2] => Sea-I love [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 | <🎜>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 ="Those who have not yet achieved their dream of sss and seeing gfg will not be immortal"; // Mild milk print_r(str_split($s, 5)); print_r(str_split_unicode($s, 5)); //Output //Array ([0] => also [1] => �such as [2] => ��sss [3] => see gf [4] => � [5] => ��rtr [6] => etbu[7] => decay) //Array ( [0] => Not yet fulfilled s [1] => ss meets gf [2] => g is not rt [3] => ret immortal ) |
The above is the entire content of this article, I hope you all like it.