问题
I would like to validate a string with a pattern that can only contain letters (including letters with accents). Here is the code I use and it always returns "nok". I don't know what I am doing wrong, can you help? thanks
$string = 'é';
if(preg_match( '/^[\p{L}]+$/i', $string))
{
echo 'ok';
} else{
echo 'nok';
}
回答1:
Add the UTF-8 modifier flag (u) to your expression:
/^\p{L}+$/ui
There is also no need to wrap \p{L} inside of a character class.
来源:https://stackoverflow.com/questions/11649019/preg-match-with-international-characters-and-accents