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

2017-05-06 23:47:47

首先来介绍str_split()这个函数;

它的作用是将字符串分割为数组;

例如:

[php] view plain copy

  1. $str='abcde';  

  2. str_plite($str);  

  3.   

  4. 打印结果如下:  

  5. Array  

  6. (  

  7.     [0] => a  

  8.     [1] => b  

  9.     [2] => c  

  10.     [3] => d  

  11.     [4] => e  

  12. )  

看似很好用的样子;但是作为中国程序员;不可避免的要和中文打交道;

这时候再用str_splite就会悲剧的发现乱码了;;;

不要怕;preg_splite可以拯救这个问题;

当然是需要配合正则使用的;

[php] view plain copy

  1. /** 

  2.  * 将字符串分割为数组     

  3.  * @param  string $str 字符串 

  4.  * @return array       分割得到的数组 

  5.  */  

  6. function mb_str_split($str){  

  7.     return preg_split('/(?<!^)(?!$)/u'$str );  

  8. }  

  9.   

  10. $str='白俊遥博客';  

  11. mb_str_split($str);  

  12.   

  13. 打印结果如下:  

  14. Array  

  15. (  

  16.     [0] => 白  

  17.     [1] => 俊  

  18.     [2] => 遥  

  19.     [3] => 博  

  20.     [4] => 客  

  21. )  

打完;收工;


  • 2017-05-12 16:33:24

    说说JSON和JSONP,也许你会豁然开朗

      JSON(JavaScript Object Notation)和JSONP(JSON with Padding)虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。我们拿最近比较火的谍战片来打个比方,JSON是地下党们用来书写和交换情报的“暗号”,而JSONP则是把用暗号书写的情报传递给自己同志时使用的接头方式。看到没?一个是描述信息的格式,一个是信息传递双方约定的方法。

  • 2017-05-25 23:18:23

    webpack图片的路径与打包

    刚开始用webpack的同学很容易掉进图片打包这个坑里,比如打包出来的图片地址不对或者有的图片并不能打包进我们的目标文件夹里(bundle)。下面我们就来分析下在webpack项目中图片的应用场景。

  • 2017-06-17 18:33:17

    NodeJs使用asyncAwait两法

    async/await使用同步的方式来书写异步代码,将异步调用的难度降低到接近于0,未来必将大放异彩。然而在当下,由于标准化的缓存步伐,async/await尚在ES7的草案中。为了尝先,特试用了下面两种方式:

  • 2017-06-18 02:26:17

    Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F

    我们可以看到错误提示中的字符0xF0 0x9F 0x98 0x84 ,这对应UTF-8编码格式中的4字节编码(UTF-8编码规范)。正常的汉字一般不会超过3个字节,为什么为出现4个字节呢?实际上是它对应的是智能手机输入法中的表情。那为什么会报错呢?

  • 2017-06-18 02:34:22

    谈mysql中utf8和utf8mb4区别

    MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。

  • 2017-07-05 09:48:51

    CSS 元素垂直居中的 6种方法

    利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可。