Достаточно редко, но всё-же возникает такая необходимость, как сделать первую букву заглавной php кирилица.

Это когда первая буква слова становится большой. Применить это можно, например, для унификации написания имени пользователя, или, например, когда нужно автоматически составить текст в предложение.

Как сделать первую букву заглавной php латиница

Тут всё достаточно просто: в PHP есть 2 функции: ucfirst() и ucwords(). Первая делает только первую букву в строке заглавной, вторая делает первую букву каждого слова в строке заглавной.

// строка
$str = 'first letters';

// первая буква в верхний регистр
echo ucfirst($str) . '
'; // первая буква во всех словах echo ucwords($str);

В результате получим две строки:
First letters
и
First Letters

Видим разницу. С английскими текстами (или любыми другими), написанными латиницей проблем не будет.

Как сделать первую букву заглавной php кирилица Windows-1251 (CP-1251)

С кирилицей (русскими буквами) которые записаны в кодировки Windows-1251 тоже не будет больших проблем:

// строка
$str = 'первые буквы';

// первая буква в верхний регистр
echo ucfirst($str) . '
'; // первая буква во всех словах echo ucwords($str);

В результате получим две строки:
Первые буквы
и
Первые Буквы

Как сделать первую букву заглавной php кирилица UTF-8

Но как только дело доходит до UTF-8 начинаются проблемы, потому, что кирилица в UTF-8 занимает 2 байта, и поэтому ничего не получится. Для этого будем использовать «костыль» от Multibyte String Functions. Если этот плагин установлен на PHP, то можно просто использовать 2 аналогичные функции: mb_ucfirst и mb_convert_case.

А если их нет, то нужно дополнить код своими альтернативами:

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;
    }
}

$str = 'первые буквы';

// пробуем кириллицу в юникоде преобразовать функцией ucfirst
echo ucfirst($str) . '
'; // пробуем кириллицу в юникоде преобразовать функцией ucwords echo ucwords($str) . '
'; // обрабатываем объявленной функцией mb_ucfirst() echo mb_ucfirst($str) . '
'; // преобразовываем функцией mb_convert_case echo mb_convert_case($str, MB_CASE_TITLE, 'UTF-8');

Результатом этому коду станут такие строчки:

первые буквы
первые буквы
Первые буквы
Первые Буквы

Как видите, первые 2 строчки не сработали, из-за того, что обычные ucfirst и ucwords не умеют работать с кирилицей в UTF-8.

С помощью этих функций можно построить успешный бизнес на продвижении сайтов. Ну не только на этих функциях, но поверьте, в продвижении сайтов всегда нужно всё максимально автоматизировать.