我正在尝试从字符串中删除中文字符。试过这个,但不能让这个工作。它说:
警告: preg_replace()[function.preg-replace]:编译失败:\ x {...}序列中的字符值在偏移量为9时太大
preg_replace('/[^\x{4e00}-\x{9fa5}]+/', '', $string)
我怎样才能使这个工作?
答案 0 :(得分:9)
在UTF-8模式下,允许使用“\ x {...}”,其中大括号的内容是十六进制数字的字符串。
您似乎不是UTF-8模式。要启用此模式,请将u
修饰符添加到正则表达式的末尾。