Полное руководство по функции ucfirst() в PHP: преобразование строк с примерами кода

Метод 1: базовое использование
Самый простой способ использовать функцию ucfirst() — передать строку в качестве ее аргумента. Он вернет ту же строку с заглавной буквой.

$str = "hello world";
$capitalizedStr = ucfirst($str);
echo $capitalizedStr; // Output: Hello world

Метод 2: обработка нескольких слов
Если у вас есть строка с несколькими словами и вы хотите, чтобы первая буква каждого слова была заглавной, вы можете использовать функцию ucwords() в сочетании с ucfirst(). Функция ucwords() делает первую букву каждого слова в строке заглавной.

$str = "hello world";
$capitalizedStr = ucwords($str);
echo $capitalizedStr; // Output: Hello World

Метод 3: обработка сокращений и инициалов
По умолчанию функция ucfirst() пишет с заглавной буквы только первый символ строки, независимо от того, является ли это аббревиатурой или инициалом. Чтобы правильно обрабатывать аббревиатуры или инициалы, вы можете использовать специальную функцию, которая позаботится об этих случаях:

function capitalizeString($str) {
    $words = explode(' ', $str);
    $capitalizedWords = [];
    foreach ($words as $word) {
        if (strlen($word) <= 2) {
            $capitalizedWords[] = strtoupper($word);
        } else {
            $capitalizedWords[] = ucfirst($word);
        }
    }
    return implode(' ', $capitalizedWords);
}
$str = "PHP is a popular programming language";
$capitalizedStr = capitalizeString($str);
echo $capitalizedStr; // Output: PHP is a Popular Programming Language

Метод 4. Работа с символами, отличными от ASCII.
Если вы работаете с символами, отличными от ASCII, например буквами с диакритическими знаками или символами разных языков, вам необходимо подумать о соответствующей кодировке. В PHP для обработки таких случаев можно использовать функцию mb_ucfirst() из расширения mbstring:

$str = "über cool";
$capitalizedStr = mb_ucfirst($str, 'UTF-8'); // Requires the mbstring extension
echo $capitalizedStr; // Output: Über cool