Изучение функции ucwords() в PHP: подробное руководство

Метод 1: базовое использование ucwords()
Функция ucwords() записывает первый символ каждого слова в строке с заглавной буквы. Вот простой пример:

$string = "hello world";
$capitalizedString = ucwords($string);
echo $capitalizedString;

Вывод: «Привет, мир!»

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

$string = "bonjour tout le monde";
$capitalizedString = mb_ucwords($string, 'UTF-8');
echo $capitalizedString;

Выход: «Bonjour Tout Le Monde»

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

$string = "hello_world-php";
$capitalizedString = ucwords($string, '_-');
echo $capitalizedString;

Вывод: «Hello_World-PHP»

Метод 4: обработка апострофов
По умолчанию функция ucwords() не обрабатывает апострофы должным образом. Чтобы правильно писать слова с апострофами с заглавной буквы, вы можете использовать пользовательскую функцию, которая учитывает определенные правила. Вот пример:

function ucwordsWithApostrophes($string) {
    return preg_replace_callback(
        "/\b([a-z])/u",
        function($matches) {
            return mb_strtoupper($matches[0]);
        },
        $string
    );
}
$string = "mary's lamb";
$capitalizedString = ucwordsWithApostrophes($string);
echo $capitalizedString;

Результат: «Ягненок Мэри»

Не забудьте использовать примеры кода, приведенные в статье, для реализации этих методов в вашей собственной базе кода. Благодаря этому вы сможете улучшить взаимодействие с пользователем и поддерживать единообразное визуальное представление текста в ваших приложениях PHP.