php支持中文字符串分割的函数

本文给大家分享了2个php使用mb_xxx方法来实现中文字符分割的方法,其基本思路都差不多,有需要的小伙伴可以参考下。

str_split不支持中文,利用mb_xx函数实现个

  1. /**
  2. * Convert a string to an array
  3. * @param string $str
  4. * @param number $split_length
  5. * @return multitype:string
  6. */
  7. function mb_str_split($str,$split_length=1,$charset="UTF-8"){
  8. if(func_num_args()==1){
  9. return preg_split('/(?<!^)(?!$)/u', $str);
  10. }
  11. if($split_length<1)return false;
  12. $len = mb_strlen($str, $charset);
  13. $arr = array();
  14. for($i=0;$i<$len;$i+=$split_length){
  15. $s = mb_substr($str, $i, $split_length, $charset);
  16. $arr[] = $s;
  17. }
  18. return $arr;
  19. }

方法二:

  1. function mbStrSplit ($string, $len=1) {
  2. $start = 0;
  3. $strlen = mb_strlen($string);
  4. while ($strlen) {
  5. $array[] = mb_substr($string,$start,$len,"utf8");
  6. $string = mb_substr($string, $len, $strlen,"utf8");
  7. $strlen = mb_strlen($string);
  8. }
  9. return $array;
  10. }

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