嗨,我正在尝试从一个字符串中替换所有的非字母数字字符,如下所示:
mb_ereg_replace('/[^a-z0-9\s]+/i','-',$string);
第一个问题是它不能替换字符串中的“.”
等字符。
其次,我想在这个方法中添加对所有用户语言的多点支持。
我怎么能那样做?
多谢帮忙。
请尝试以下操作:
preg_replace('/[^\p{L}0-9\s]+/u', '-', $string);
在正则表达式上使用u
标志时,\p{L}
(和\p{Letter}
)将匹配任何Unicode字母类别中的任何字符。