preg_match包含国际字符和重音符号

Vin*_*ent 14 php non-ascii-characters preg-match

我想验证一个字符串,其中的图案只能包含字母(包括带重音的字母).这是我使用的代码,它总是返回"nok".我不知道我做错了什么,你能帮忙吗?谢谢

$string = 'é';

if(preg_match( '/^[\p{L}]+$/i', $string))
{
    echo 'ok';
} else{
    echo 'nok';
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*per 30

将UTF-8 修饰符标志(u)添加到表达式:

/^\p{L}+$/ui
Run Code Online (Sandbox Code Playgroud)

也没有必要\p{L}在字符类中包装.