С очень странной проблемой столкнулся в PHP. Надо сделать заглавной первую букву в строке.
Функция PHP – ucfirst(), не помогла. Работает для символов латинского алфавита, но не работает для кириллицы, для русского алфавита.
Решение, которое работает для таких случаев.
if (!function_exists('mb_ucfirst') && extension_loaded('mbstring')) {
/**
* mb_ucfirst - преобразует первый символ в верхний регистр
* @param string $str - строка
* @param string $encoding - кодировка, по-умолчанию UTF-8
* @return string
*/
function mb_ucfirst($str, $encoding = 'UTF-8')
{
$str = mb_ereg_replace('^[\ ]+', '', $str);
$str = mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding) .
mb_substr($str, 1, mb_strlen($str), $encoding);
return $str;
}
}
И если требуется преобразовать строку, применяем так:
mb_ucfirst('пример');