提问者:小点点

PHP-为所有支持的语言替换所有非字母数字字符


嗨,我正在尝试从一个字符串中替换所有的非字母数字字符,如下所示:

mb_ereg_replace('/[^a-z0-9\s]+/i','-',$string);

第一个问题是它不能替换字符串中的“.”等字符。

其次,我想在这个方法中添加对所有用户语言的多点支持。

我怎么能那样做?

多谢帮忙。


共1个答案

匿名用户

请尝试以下操作:

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

在正则表达式上使用u标志时,\p{L}(和\p{Letter})将匹配任何Unicode字母类别中的任何字符。