Сейчас приведу пример метода, который делает заглавной первую букву в строке, при этом остальные буквы, по желанию, могут принудительно перевестись в нижний регистр.
На авторство не претендую — метод был найден на просторах интернета:
public static function ucfirst($str, $lowerEnd = false, $encoding = 'UTF-8')
{
$firstLetter = mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding);
if ($lowerEnd) {
$strEnd = mb_strtolower(mb_substr($str, 1, mb_strlen($str, $encoding), $encoding), $encoding);
} else {
$strEnd = mb_substr($str, 1, mb_strlen($str, $encoding), $encoding);
}
return $firstLetter.$strEnd;
}
Здесь все просто:
— первый параметр, собственно, строка, с которой мы работаем;
— второй параметр — признак, стоит ли принудительно переводить остальные символы в нижний регистр (по умолчанию — false);
— третий параметр — кодировка строки, чтоб помочь в работе мультибайтным функциям (по умолчанию — UTF-8).
Второй параметр, несмотря на. казалось бы, ненужность, несет огромную пользу. Если вам нужно в строке конкатенировать несколько строк или выводить заголовки с админки, которые печатают менеджеры или же это заголовки статей — множество заглавных букв сильно режут глаз.
Я искал именно метод подавляющий все большие буквы, кроме первой в строке.
Надеюсь метод будет Вам полезен!