最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
正则替换回调函数 preg_replace_callback()―Unicode 转中文方法
时间:2022-06-24 19:47:31 编辑:袖梨 来源:一聚教程网
在之前编写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); } |
相关文章
- 恶意不息圣城下水道入口怎么解锁 04-23
- 《光与夜之恋》会意问答6月16日第六天答案分享 04-23
- 蛋仔派对猫和老鼠联动怎么玩 04-23
- 物华弥新四子棋速胜必胜玩法 04-23
- 原神4.6上半活动日历一览 04-23
- 恶意不息怎么免费修理武器 04-23