Использование регулярных выражений с preg_replace_callback

Я хотел бы использовать заглавную букву первой буквы строки, которая могла бы иметь особые символы (вот почему ucfirst здесь недопустим). У меня есть следующий код:

$string = 'ésta';
$pattern = '/^([^a-z]*)([a-z])/i';

$callback_fn = 'process';

echo preg_replace_callback($pattern, $callback_fn, $string);


function process($matches){
    return $matches[1].strtoupper($matches[2]);
}

который возвращает '& # xE9; Sta' apos; но '& # xC9; sta & apos; ожидалось ... Я думаю, что моя проблема в том, какой шаблон я использую, но я сделал разные комбинации (например,$pattern = '/\pL/u') но я не нахожу хорошего регулярного выражения. Может ли кто-нибудь помочь мне? Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос