Preg_match с международными символами и акцентами

Я хотел бы проверить строку с шаблоном, который может содержать только буквы (включая буквы с акцентами). Вот код, который я использую, и он всегда возвращает "nok". Я не знаю, что я делаю неправильно, можете ли вы помочь? спасибо

$string = 'é';

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

Ответ 1

Добавьте в выражение выражение UTF-8 (u):

/^\p{L}+$/ui

Также нет необходимости обертывать \p{L} внутри класса символов.