Mir*_*kov 6 php regex utf-8 preg-replace
我想从字符串中删除每个字母字符.
但问题是我不知道字母范围,因为它是UTF8字符串.
它可以是ENGLISH,ՀԱՅԵՐԵՆ,ქართული,УКРАЇНСЬКИЙ,РУССКИЙ
我经常这样做
$str = preg_replace('/[^a-zA-Z]/', '', $str);
Run Code Online (Sandbox Code Playgroud)
要么
$str = preg_replace('/[^\w]/u', '', $str);
Run Code Online (Sandbox Code Playgroud)
但他们都清楚外国人的角色
任何的想法?
更新:对于Unicode,RegExp将如下所示[^\p{L}\s]+(不替换空格)
它将用UTF8支持替换所有非alpha字符.
\P{L}+ - 匹配任何非字母符号\p{P}+ - 仅删除标点符号以下是一些有用的参考文档: