以下是我编写的代码,实现对中英文混杂字符进行分割:
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不朽 ) |
以上所述就是本文的全部内容了,希望大家能够喜欢。