Перевод строки в нижний регистр в PHP
Перевод регистра текста необходим в разных случаях, где может задействоваться PHP,и особенно заметно проявляется при работе с базами данных. Для удобного пользования ими информация должна быть представлена в едином формате, что также касается использования строчных или заглавных букв.
Эту задачу можно поставить на сторону клиента силами JavaScript, однако это значительно понижает безопасность – такие скрипты могут игнорироваться пользователем, что при отсутствии дополнительных проверок со стороны сервера приведёт к записи данных в неизменённом формате. Если же в момент после отправки, но перед выполнением какого-либо действия существует проверка, основанная на if-elseif-else, стоит поставить на неё или ошибку, или выполняемое на сервере преобразование строки.
Изменение регистра
Для выполнения задачи понадобится функция strtolower(), имеющая как нельзя простой синтаксис:
strtolower($string);
Функция работает только со строковыми значениями. Другим нюансом является невозможность её использования при работе с буквами многих алфавитов, включая кириллицу – на этот случай существует mb_strtolower();, записываемый в следующем формате:
mb_strtolower($string, $encoding);
Примеры использования
Предложения на латинице
<?
$string = «SPHINX Of Black QUARTZ, Judge My Vow.»;
$string_display = strtolower($string);
echo $string.»<br>».$string_display;
?>
В этом примере сначала будет выведена оригинальная строка, а под ней – изменённая, в которой все буквы будут приведены к нижнему регистру.
Предложения в других алфавитах
<?
$ru_string = «В ЧаЩах Юга Жил-БЫЛ ЦИТРУС… — Да, НО ФаЛьШиВыЙ ЭкземплярЪ!»;
$ru_string_display = mb_strtolower($ru_string, «UTF-8″);
echo $ru_string.»<br>».$ru_string_display;
?>
Здесь задействуется mb_strtolower(); с указанной кодировкой UTF-8, что поддерживает кириллицу и используется в большинстве веб-документов, однако стоит проверить, совпадает ли она с той, в которой сохранён файл.