用Preg_replace删除中文字符?

时间:2012-08-28 20:59:57

标签: php

我正在尝试从字符串中删除中文字符。试过这个,但不能让这个工作。它说:

  

警告: preg_replace()[function.preg-replace]:编译失败:\ x {...}序列中的字符值在偏移量为9时太大

preg_replace('/[^\x{4e00}-\x{9fa5}]+/', '', $string)

我怎样才能使这个工作?

1 个答案:

答案 0 :(得分:9)

  

在UTF-8模式下,允许使用“\ x {...}”,其中大括号的内容是十六进制数字的字符串。

您似乎不是UTF-8模式。要启用此模式,请将u修饰符添加到正则表达式的末尾。