【发布时间】:2016-10-25 21:04:28
【问题描述】:
我有一些包含字符的字符串,例如 \x{1f601},我想用一些文本替换它们。
当我使用 preg_replace 执行此操作时,它会是这样的:
preg_replace('/\x{1f601}/u', '######', $str)
但是,这似乎不适用于 str_replace:
str_replace("\x{1f601}", '######', $str)
如何使用 str_replace 进行此类替换?
【问题讨论】:
-
您的文本实际上包含 9 个字符的长字符串“\x{1f601}”,还是包含字符“????”?以及 UTF-16 如何发挥作用?
-
您是说
preg_replace有效,但str_replace无效? UTF-16 也是一种编码 Unicode 字符的方法。你有 PHP 以 UTF-8 模式运行吗?