Php. Как сделать первую букву в строке заглавной?


Сейчас приведу пример метода, который делает заглавной первую букву в строке, при этом остальные буквы, по желанию, могут принудительно перевестись в нижний регистр.

На авторство не претендую — метод был найден на просторах интернета:

    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).

Второй параметр, несмотря на. казалось бы, ненужность, несет огромную пользу. Если вам нужно в строке конкатенировать несколько строк или выводить заголовки с админки, которые печатают менеджеры или же это заголовки статей — множество заглавных букв сильно режут глаз.
Я искал именно метод подавляющий все большие буквы, кроме первой в строке.

Надеюсь метод будет Вам полезен!

, ,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *