Преобразование строки в нижний регистр

PHP:
Преобразование строки в нижний регистр

Как это сделать:

PHP использует strtolower для преобразования всех символов строки в нижний регистр. Вот как это работает:

<?php
$originalString = "HeLLo WoRLD!";
$lowerCaseString = strtolower($originalString);

echo $lowerCaseString; // Выводит: hello world!
?>

Если вам нужно обрабатывать многобайтовые кодировки символов, такие как UTF-8, используйте вместо этого mb_strtolower:

<?php
$originalString = "İstanbul";
$lowerCaseString = mb_strtolower($originalString, 'UTF-8');

echo $lowerCaseString; // Выводит: istanbul (правильно конвертирует İ в i)
?>

Углубленно

Исторически функция strtolower в PHP была функцией по умолчанию для преобразования регистра, введенная в очень ранних версиях PHP. Однако, поскольку приложения PHP становились более глобальными, возникла необходимость корректно обрабатывать многобайтовые кодировки символов, что привело к появлению mb_strtolower.

Альтернативы strtolower и mb_strtolower включают использование регулярных выражений с функциями mb_ereg_replace_callback или preg_replace_callback, но для простого преобразования регистра они являются излишними.

В PHP строки традиционно были основаны на байтах, а не на символах, что означает, что каждый байт является одним символом. Это работает для однобайтовых кодировок, таких как ASCII, где каждый символ действительно является одним байтом. Для многобайтовых кодировок mb_strtolower понимает кодировку символов и обрабатывает символы так, как это должно быть.

Смотрите также