您现在的位置是:首页 > 程序 > php网站首页php

正则替换回调函数 preg_replace_callback()—Unicode 转中文方法

  • 袁志蒙
  • 2016-07-05 18:02:03
  • 3325 次阅读
在之前编写PHP工具类时,常用一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎...

在之前编写PHP工具类时,常用一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(也就是字符串替换)。此方法经过多个项目的实验发现存在不足,例如:双引号被转义的问题。

经过文档的查询和学习发现可以使用另外一个正则替换回调函数 preg_replace_callback(),在此做个记录,参考方法如下:

$data = curl_menu(ACCESS_TOKEN, preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", $data));

替换如下:

function decodeUnicode($str){ 
    return preg_replace_callback('/\\\\u([0-9a-f]{4})/i', create_function('$matches', 'return iconv("UCS-2BE","UTF-8",pack("H*", $matches[1]));'), $str); 
}


TAG: 无标签

上一篇:已经是第一篇

下一篇:YzmCMS使用教程[简单入门]

文章评论 (0)

    • 这篇文章还没有收到评论,赶紧来抢沙发吧~


Top