preg_replace删除特殊字符

时间:2012-02-01 20:31:02

标签: php regex

想知道如何替换我的字符串上的所有特殊字符,例如:hello this is a test!

我写了这段代码:

$text = preg_replace("/[^A-Za-z0-9]/", ' ', $text);

这项工作需要更多的灵活性,以允许像áéíóú...这样的特殊字符,并只删除某些字符,如::!"#$%&/()=?¿¡ ...

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

使用$text = preg_replace("/[^\p{L}\p{N}]/u", ' ', $text);

这将匹配所有非字母或数字的字符,并将适当地处理Unicode字母。