将中文字符串分割为数组 解决str_split中文乱码php

首先来介绍str_split()这个函数;
它的作用是将字符串分割为数组;
例如:

$str='abcde';
str_plite($str);
打印结果如下:
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
)

看似很好用的样子;但是作为中国程序员;不可避免的要和中文打交道;
这时候再用str_splite就会悲剧的发现乱码了;;;
不要怕;preg_splite可以拯救这个问题;
当然是需要配合正则使用的;

/**
 * 将字符串分割为数组
 * @param  string $str 字符串
 * @return array       分割得到的数组
 */
function mb_str_split($str){
    return preg_split('/(?<!^)(?!$)/u', $str );
}
$str='白俊遥博客';
mb_str_split($str);
打印结果如下:
Array
(
    [0] => 白
    [1] => 俊
    [2] => 遥
    [3] => 博
    [4] => 客
)

打完;收工;
白俊遥博客

白俊遥博客
请先登录后发表评论
  • latest comments
  • 总共6条评论
白俊遥博客

花无不缺你一个 :大神能否解释下这个正则?

2016-11-11 12:11:37 回复

白俊遥博客 白俊遥博客

云淡风晴 :谷歌:反向预搜索

2016-11-11 23:09:02 回复

白俊遥博客

花无不缺你一个 :还是不明白啊 求指教~(?

2016-11-12 12:03:24 回复

白俊遥博客 白俊遥博客

云淡风晴 :^和$是定位符;用来描述字符串或单词的边界;分别表示开始和结束;

2016-11-13 10:48:03 回复

白俊遥博客

孤城浪子 :这个正则没看懂啊

2016-09-13 14:48:48 回复

白俊遥博客 白俊遥博客

云淡风晴 :这个正则确实略绕;

2016-09-15 08:14:45 回复