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

its*_*sme 3 php regex string replace multibyte

嗨,我实际上是尝试从这样的字符串替换所有非字母数字字符:

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

第一个问题是它不会替换"."字符串中的字符.

其次,我想为所有用户语言添加multybite支持.

我怎样才能做到这一点?

感谢任何帮助,非常感谢.

And*_*ark 9

请尝试以下方法:

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

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