Привести строку в нужный регистр PHP

Привести строку в нужный регистр PHP

546

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

Рассмотрим не совсем правильный метод перевода строки в нужный регистр.

Пусть у нас есть строка $str = "Hello hello"; Изменим ее следующими комбинациями:

echo strtolower($str); //Все буквы маленькие hello hello
echo strtoupper($str); //Все буквы БОЛЬШИЕ HELLO HELLO

Также, хочу отметить эти две команды, которые могут пригодиться в редких ситуациях:

echo ucfirst("hello hello"); //первая буква заглавная Hello
echo ucwords("hello hello"); //первая буква каждого слова заглавная Hello Hello

Но минус перечисленных функций в том, что они не работают с кириллицей

Преобразование в нужный регистр согласно русских символов.

Эти функции работают с кириллицей utf8 - надо указывать кодировку

$str = "у мэри";
echo mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
// У МЭРИ
echo mb_convert_case($str, MB_CASE_TITLE, "UTF-8"); // У Мэри
echo mb_convert_case($str, MB_CASE_LOWER, "UTF-8"); // у мэри

Поэтому рекомендую использовать чаще mb_convert_case, она более универсальна.

Бонусом приведу пару PHP функций, которые всегда могут пригодиться.

Выводит строку, которая начинается с поискового запроса и до конца

echo strstr ("Поиск строки начинается", "стро"); // выводит "строки начинается"

Возвращает номер символа, с которого начинается подстрока. Работает в windows-1251

echo strpos ("Кто там?", "там"); // выводит "4"
echo strpos (iconv ('utf-8', 'windows-1251', "Кто там?"), iconv ('utf-8', 'windows-1251', "там")); // выводит "4". Работает в utf-8

Удаляют пробелы в строке ltrim, chop, trim

echo ltrim(" Пробел "); // "Пробел " в начале строки
echo chop(" Пробел "); // " Пробел" в конце строки
echo trim(" Пробел "); // "Пробел" в начале и конце строки

 

| | Привести строку в нужный регистр PHP | Казалось бы, что может быть проще перевести строку в верхний или нижний регистр, используя PHP. Но даже в такой простой операции бывают свои подводные | http://blogprogram.ru/wp-content/uploads/2017/01/546-131x131.jpg

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

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


Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>