【发布时间】:2012-02-01 20:31:02
【问题描述】:
想知道如何替换字符串上的所有特殊字符,例如:hello this is a test!
我已经写了这段代码:
$text = preg_replace("/[^A-Za-z0-9]/", ' ', $text);
这项工作需要更大的灵活性,以允许像 áéíóú... 这样的特殊字符并只删除某些字符,如::!"#$%&/()=?¿¡...
有什么想法吗?
【问题讨论】:
想知道如何替换字符串上的所有特殊字符,例如:hello this is a test!
我已经写了这段代码:
$text = preg_replace("/[^A-Za-z0-9]/", ' ', $text);
这项工作需要更大的灵活性,以允许像 áéíóú... 这样的特殊字符并只删除某些字符,如::!"#$%&/()=?¿¡...
有什么想法吗?
【问题讨论】:
使用$text = preg_replace("/[^\p{L}\p{N}]/u", ' ', $text);
这将匹配所有非字母或数字的字符,并将适当地处理 Unicode 字母。
【讨论】:
/u 修饰符结合使用。 stackoverflow.com/questions/5920188/…