如何替换所有特殊字符char但保留重音符号

时间:2014-01-16 11:40:16

标签: php regex preg-replace non-ascii-characters

我想更改字符串中的所有特殊字符,但我想保留所有重音字符。可以使用preg_replace()吗?

我目前的代码:

preg_replace('/[^A-Za-z0-9\-]/', '', $string); 

1 个答案:

答案 0 :(得分:5)

尝试使用Unicode:

preg_replace('/[^\p{L}0-9\-]/u', '', $string);

\p{L}Unicode property,匹配任何语言的所有字母,Unicode properties on php.net