警告的含义是什么?
Warning: preg_replace() [function.preg-replace]: Compilation failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 in
这是由这个功能触发的:
file_put_contents($file,preg_replace('(\uid=\d+)', 'uid=' . $uid, file_get_contents($file)));
即这种模式:
'(\uid=\d+)'
它在本地工作,但不在线,这意味着它可能是我主机的PHP版本。我试图google一个解决方法,但找不到任何东西。
答案 0 :(得分:5)
PCRE不支持\u
espace序列。
换句话说,你的正则表达式是不正确的。请尝试使用(uid=\d+)
之类的内容。
如评论中所述(感谢Mellamokb),这里是source。
如果您想知道\u
是什么,可以查看here
\ u标题下一个字符。不在[]。
答案 1 :(得分:0)
file_put_contents($file,preg_replace('/uid=\d+/', 'uid=' . $uid, file_get_contents($file)));
答案 2 :(得分:0)
RegExp模式应该由/
分隔符限制,您也可以使用(#
或~
)。此外,没有转义序列\u
。你可能想试试这个 -
preg_replace('/\\uid=\d+/', 'uid=' . $uid, file_get_contents($file))