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