>백엔드 개발 >PHP 튜토리얼 >支持中文的PHP按字符串长度分割成数组代码_PHP教程

支持中文的PHP按字符串长度分割成数组代码_PHP教程

WBOY
WBOY원래의
2016-07-13 09:53:531155검색

支持中文的PHP按字符串长度分割成数组代码

   自己编写的PHP按字符串长度分割成数组代码,支持中文字符,下面给出代码和使用方法,有需要的小伙伴可以参考下。

  以下是我编写的代码,实现对中英文混杂字符进行分割:

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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 '

';
            <p>print_r($r);</p>
            <p>echo '</p>
';

?>

  运行结果:

  ?

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

function str_split_unicode($str, $l = 0) {

if ($l > 0) {

$ret = array();

$len = mb_strlen($str,"UTF-8");

for ($i = 0; $i

$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不朽 )

  以上所述就是本文的全部内容了,希望大家能够喜欢。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1000068.htmlTechArticle支持中文的PHP按字符串长度分割成数组代码 自己编写的PHP按字符串长度分割成数组代码,支持中文字符,下面给出代码和使用方法,有需要...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.