我想从字符串中删除所有非字母字符。问题是我不知道字母范围,因为它是 UTF8 字符串。
它可以是 ENGLISH, Հ̶ՅՐՆ, ქართული, УКРАЇНСЬКИЙ, РУССКИЙ
我通常会这样做:
$str = preg_replace('/[^a-zA-Z]/', '', $str);
或
$str = preg_replace('/[^\w]/u', '', $str);
但他们都清除了外来字符。
有什么想法吗?
最佳答案
使用 Unicode character properties :
$str = preg_replace('/\P{L}+/u', '', $str);
关于php - 如何用 PHP 中的 UTF-8 支持替换所有非字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11989482/