[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сократить запрос
Александр801
Есть условие:
if (mb_strlen($tel)>5 && !preg_match("/http/", $vopros) && !preg_match("/Яндекс/", $vopros) && !preg_match("/прогон/", $vopros))

как правильно написать, что в переменной $vopros не содержится следующие слова http, Яндекс, прогон.
И как сделать так, чтобы регистр букв не учитывался?
Игорь_Vasinsky
| - логическое "или" в regexp

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Миша
preg_match

Символ "i" после закрывающего ограничителя шаблона означает регистронезависимый поиск.
(a|b)  a or b


_____________
Принимаю заказы, писать в ЛС
Александр801
Цитата (Миша @ 21.01.2017 - 12:50)
preg_match

Символ "i" после закрывающего ограничителя шаблона означает регистронезависимый поиск.
(a|b)  a or b

то есть так?
if (mb_strlen($tel)>5 && !preg_match("/http/i" | "/яндекс/i" | "/прогон/i" , $vopros)
Миша
Синтаксис регулярных выражений
Регулярные выражения для самых маленьких

Символ "i" после закрывающего ограничителя шаблона - Разделители

_____________
Принимаю заказы, писать в ЛС
Игорь_Vasinsky
/ - это ограничители паттерна

нужно всего 2 - открыть и закрыть

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Александр801
Теперь понял
if (mb_strlen($tel)>5 && !preg_match("/(http|яндекс|прогон)/i" , $vopros)

Остался только вопрос с регистром, все равно пропускает слово "Яндекс"
Миша
"/(http|яндекс|прогон)/ui"


_____________
Принимаю заказы, писать в ЛС
Александр801
Цитата (Миша @ 21.01.2017 - 13:38)
"/(http|яндекс|прогон)/ui"

Супер! Спасибо.

А как сделать проверку не только в одной переменной?
Только так:

if (!preg_match("/(http|яндекс|прогон)/ui" , $vopros) && !preg_match("/(http|яндекс|прогон)/ui" , $otziv))
Игорь_Vasinsky
так и есть

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Александр801
Цитата (Игорь_Vasinsky @ 21.01.2017 - 14:58)
так и есть

Спасибо! Очень помогли
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.