将中文字符串分割为数组 解决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. )  

打完;收工;


  • 2020-11-12 14:01:46

    使用postMessage来实现父子通信跨域

    1.子向父,子postMessage,父监听message; 2.父向子,父postMessage,子监听message; 3.测试发现,子向父postMessage的时候,源可以写为‘*’,父向子postMessage的时候,源需要写成子的源,(也就是子页面的协议+主机号+端口) 测试代码部分:

  • 2020-11-12 14:24:39

    Object.entries()

    Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)