加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 将utf8字符串拆分为字符数组

发布时间:2020-12-13 22:22:45 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试将utf8编码的字符串拆分为字符数组.我现在使用的功能用于工作,但由于某种原因它不再起作用.可能是什么原因.更好的是,我该如何解决? 这是我的字符串: Zelf heb ik maar één vraag: wie ben jij? 这是我的功能: function utf8Split($str,$len =
我正在尝试将utf8编码的字符串拆分为字符数组.我现在使用的功能用于工作,但由于某种原因它不再起作用.可能是什么原因.更好的是,我该如何解决?

这是我的字符串:

Zelf heb ik maar één vraag: wie ben jij?

这是我的功能:

function utf8Split($str,$len = 1)
{
  $arr = array();
  $strLen = mb_strlen($str);
  for ($i = 0; $i < $strLen; $i++)
  {
    $arr[] = mb_substr($str,$i,$len);
  }
  return $arr;
}

这是结果:

Array
(
    [0] => Z
    [1] => e
    [2] => l
    [3] => f
    [4] =>  
    [5] => h
    [6] => e
    [7] => b
    [8] =>  
    [9] => i
    [10] => k
    [11] =>  
    [12] => m
    [13] => a
    [14] => a
    [15] => r
    [16] =>  
    [17] => e
    [18] => ?
    [19] => e
    [20] => ?
    [21] => n
    [22] =>  
    [23] => v
    [24] => r
    [25] => a
    [26] => a
    [27] => g
    [28] => :
    [29] =>  
    [30] => w
    [31] => i
    [32] => e
    [33] =>  
    [34] => b
    [35] => e
    [36] => n
    [37] =>  
    [38] => j
    [39] => i
    [40] => j
    [41] => ?
)

解决方法

这是最好的解决方案!:

我在PHP manual pages中找到了这个很好的解决方案.

preg_split('//u',$str,null,PREG_SPLIT_NO_EMPTY);

它工作得非常快:

在PHP 5.6.18中,它在几秒钟内分割出一个6 MB的大文本文件.

最好的.它不需要MultiByte(mb_)支持!

类似的答案也是here.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读