В PHP существует несколько методов перевода каждого слова в строку в верхний регистр. В этой статье будут рассмотрены различные методы с примерами кода для достижения желаемого результата. Независимо от того, работаете ли вы с английским или другими языками, эти методы можно применять универсально.
Метод 1: функция ucwords()
Функция ucwords() — это встроенная функция PHP, которая делает первую букву каждого слова в строке заглавной. Он автоматически обрабатывает границы слов и учитывает такие символы, как дефисы и апострофы.
$string = "php uppercase each word";
$uppercaseString = ucwords($string);
echo $uppercaseString;
Вывод: «Каждое слово PHP должно быть в верхнем регистре»
Метод 2: регулярное выражение
Регулярные выражения предоставляют мощный способ манипулирования строками в PHP. Мы можем использовать функцию preg_replace_callback(), чтобы найти каждое слово в строке, и применить функцию strtoupper() для его перевода в верхний регистр.
$string = "php uppercase each word";
$uppercaseString = preg_replace_callback('/\b\w/', function ($matches) {
return strtoupper($matches[0]);
}, $string);
echo $uppercaseString;
Вывод: «Каждое слово PHP в верхнем регистре»
$string = "php uppercase each word";
$uppercaseString = mb_convert_case($string, MB_CASE_TITLE);
echo $uppercaseString;
Вывод: «Каждое слово PHP должно быть в верхнем регистре»
Метод 4. Расчленение и перебор слов.
Этот метод предполагает разбиение строки на массив слов, написание каждого слова с заглавной буквы по отдельности, а затем их обратное соединение.
$string = "php uppercase each word";
$words = explode(' ', $string);
$uppercaseWords = [];
foreach ($words as $word) {
$uppercaseWords[] = ucfirst($word);
}
$uppercaseString = implode(' ', $uppercaseWords);
echo $uppercaseString;
Вывод: «Каждое слово PHP должно быть в верхнем регистре»
Метод 5: использование array_map() и ucwords()
Этот метод использует функцию array_map() для применения ucwords() к каждому слову в строке.
$string = "php uppercase each word";
$words = explode(' ', $string);
$uppercaseWords = array_map('ucwords', $words);
$uppercaseString = implode(' ', $uppercaseWords);
echo $uppercaseString;
Вывод: «Каждое слово PHP должно быть в верхнем регистре»
В этой статье мы рассмотрели различные методы перевода каждого слова в строку в верхний регистр с помощью PHP. Независимо от того, предпочитаете ли вы использовать встроенные функции, такие как ucwords(), или использовать регулярные выражения и манипуляции с массивами, эти методы обеспечивают гибкость в достижении желаемого результата. Не забудьте учитывать конкретные требования вашего проекта, такие как поддержка многобайтовых символов или правила, специфичные для языка, чтобы определить наиболее подходящий метод.