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'; }
Advertisement
Answer
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.