Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Преобразование регистра


Автор: jonnyky1 14.7.2011, 23:14
Всем привет! Помогите решить проблему. Код:
Код

<?php
$str = $_SERVER['QUERY_STRING'];
$str1 = array('javascript', 'SQL');

$str2 = str_replace($str1, 'X', $str);

if ($str != $str2)
{
     die("go google");
}
?>


Суть простая. Когда в адресную строку вводятся слова javascript или SQL, скрипт пишет "go google".
Но проблема в том, что если ввести javaSCript или SqL, или javascripT, скрипт уже не работает.

Подскажите, как наладить преобразование регистра, чтобы учитывались все варианты написания слова с учетом регистра каждой буквы?

Автор: Evghenusi 15.7.2011, 00:01
str_ireplace --  Регистро-независимый вариант функции str_replace(). 

Автор: DenNTRooT 17.7.2011, 11:14
Преобразуйте получаемую строку к нижнему регистру функцией strtolower($str) и выполняйте проверку в нижнем регистре (или можете все делать в вернем регистре функцией strtoupper($str))

Автор: vencendor 18.7.2011, 08:50
Лучшие варианты для данной задачи уже описаны но если есть вероятность расширения условий тогда можно использовать регулярные выражения с регистронезависимым ключом "i" . smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)