Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Регулярные выражения - найти оба значения
Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2012
Помог: 0 раз(а)
Мне нужно с помощью регулярного выражения найти два значения на страницы. Например, есть страница с текстов, нужно узнать упоминаются в тексте слова "яблоки" и "груши" . Причем, не или/или, а они должны оба быть (находится в тексте).
У меня регулярное выражение находит лишь первое слово, второе будто бы игнорирует.
В интернете искала, подходящего варианта не нашла. Может кто подскажет, как заставить регулярное выражение находить оба слова? Если, конечно, это возможно...
EuGen
Отправлено: 05 Июня, 2013 - 14:03:49
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Cajka
Лучше не делать это регулярными выражениями (а что, если нужно будет найти 3 слова? а 5?) - поскольку это предполагает перечисление всех возможных комбинаций. Для двух слов подойдет
- поскольку варианта следования всего 2. Для 5 слов, например, вариантов будет уже 5! = 120, так что лучше давать ответ на вопрос с помощью того же preg_match, но последовательно, так, например:
- если требуется точное вхождение и не планируется использование регулярных выражений для конкретного слова, лучше использовать strpos для определения вхождения.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Cajka
Отправлено: 05 Июня, 2013 - 14:25:55
Новичок
Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2012
Помог: 0 раз(а)
EuGen
Спасибо вам за примеры, тогда попробую так.
Насчет strpos думала... может вы и правы. Найденные слова в принцессе нигде использоваться дальше не будут. Просто если они присутствуют, выполняется одно условие, если нет - то другое.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.