Как перевести текст в нижний регистр на PHP

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2083
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 69 раз

Как перевести текст в нижний регистр на PHP

Сообщение Slash » Сб окт 08, 2016 12:48 pm

Для перевода текста в нижний регистр в PHP есть функция strtolower. И она отлично справляется со своей задачей, например:

Код: Выделить всё

$en = 'Leo Tolstoy';

echo strtolower($en); # leo tolstoy      
Результат будет, как уже написано в комментарии к коду:
leo tolstoy
Все работает! Но если мы попробуем перевести в нижний кириллицу, то ни чего не изменится:

Код: Выделить всё

$ru = 'Лев Николаевич Толстой';

echo strtolower($ru); # Лев Николаевич Толстой     
Вот, что будет на экране:
Лев Николаевич Толстой
То есть ни чего не поменялось... Тут на помощь придет функция mb_strtolower (такая же, только с приставкой mb_). Данная функция работает с кириллическими символами:

Код: Выделить всё

$ru = 'Лев Николаевич Толстой';

echo mb_strtolower($ru); # лев николаевич толстой  
Результат:
лев николаевич толстой
Работает!

У функции mb_strtolower, может быть второй параметр - это кодировка, например UTF-8:

Код: Выделить всё

echo mb_strtolower($ru, 'UTF-8'); 
Если кодировку не указать в функции, то будет взята внутренняя кодировка.

Реклама

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость