PHP验证字符串是否为字母,包括西里尔、希腊或任何Unicode字母。

3

我正在尝试验证包括多个字符集在内的字符串是否为字母:

function is_string($str){
    return preg_match("/^[a-zA-Z\p{Cyrillic}\p{Cyrillic}]+$/u", $str) ? TRUE : FALSE;
}

但是如果字符串包含其他语言的一些字符(如阿尔巴尼亚语中使用的ç、ë等),它就会失败。

is_string('ç');//false
is_string('ë');//false

有没有一般的函数或其他东西可以解决任何字符集的问题?
1个回答

4

\p{L}\p{M}* 匹配任何带有变音符号的字母(如果有的话)。


太好了,非常感谢 :) 我测试了一下,看起来很不错,你能告诉我 \p{L} 是什么意思吗? - Sabri Aziri
这是关于此主题的绝佳资源:Unicode正则表达式 - Parapluie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接