用explode函数得到的结果中出现的错误

来源:互联网 发布:ab apache测试性能 编辑:程序博客网 时间:2024/06/14 08:47

这两天在做一个工具,目的就是将一个上传的txt文档转换成一个Excel,在这中间用到了explode函数


当用这个函数转换字符串 Z10004|王|億达峰|52|66|时,得到的结果中出现了乱码。


我查看了一下,乱码的原因就是 这个字,随后研究了很久。


最后的解决办法为 先将这个字符串转换成UTF-8的编码,然后将里面的|转换成 然后再用explode函数就没有出现错误了。



$rows = iconv("GBK", "UTF-8", $source );$rows = str_replace("|", ",", $rows);$rows = explode(",", $rows);print_r($rows);


随后在csdn技术问答中看到一位热心的朋友给到了另一个解决方案,就是直接用正则匹配,最开始我也想过,但是未成功,不过这位朋友的代码我测过是可以的。


$s = iconv("GBK", "UTF-8", $rows );preg_match_all('/(?<=|)\w+(?<!$)/u', $s, $m);print_r($m);


0 0
原创粉丝点击