Поясните, почему при парсинге одной ленты preg_match_all('#..., $a, $res) or preg_match_all('#..., $a, $res) выдает одну новость, но с другим сайтом ИЛИ не замечается и выводятся все новости, сколько preg_match_all есть, приходится break добавлять.
В чем разница?
1. olegzk - 11 Ноября, 2017 - 15:49:39 - перейти к сообщению
2. Строитель - 11 Ноября, 2017 - 15:59:21 - перейти к сообщению
olegzk, вы можете привести пример по-подробнее?
3. olegzk - 11 Ноября, 2017 - 16:19:50 - перейти к сообщению
Строитель пишет:
olegzk, вы можете привести пример по-подробнее?
Ну, к примеру, с simplexml_load_file('http://....ru/rss/v2.xml') выдираю нужные новости по нескольким словам с помощью preg_match_all('#вася.+#ui', $a, $res) or $er=preg_match_all('#петя.+#ui', $a, $res). Выводится одна новость, самая свежая.
Но с такой же ленты другого сайта, OR как бы не замечается и выводятся новости по всем заданным словам. То есть, если поставить три раза preg_match_all с разными переменными, то столько материала и парсится. Решается break в конце кода, но просо хотелось бы знать причину этого.
4. Строитель - 11 Ноября, 2017 - 16:24:43 - перейти к сообщению
olegzk, честно говоря такого варианта использования семейства функций preg_ я не встречал: preg_match_all('#вася.+#ui', $a, $res) or $er=preg_match_all('#петя.+#ui', $a, $res). Может быть имеет смысл подправить именно regex-шаблон?
5. olegzk - 11 Ноября, 2017 - 16:34:05 - перейти к сообщению
[quote=Строитель]olegzk, честно говоря такого варианта использования семейства функций preg_ я не встречал:
Не знаю, я не специалист, может так никто не делает, но решил с preg_match_all('#вася.+#ui', $a, $res) по заголовку выдирать определенные новости. Все работает нормально, в обоих случаях, новости выводятся. Только с разницей, которая описана выше. Вот эта разница и интересует, почему так.
Не знаю, я не специалист, может так никто не делает, но решил с preg_match_all('#вася.+#ui', $a, $res) по заголовку выдирать определенные новости. Все работает нормально, в обоих случаях, новости выводятся. Только с разницей, которая описана выше. Вот эта разница и интересует, почему так.
6. Строитель - 11 Ноября, 2017 - 16:39:25 - перейти к сообщению
olegzk вместо двух функций можно же просто добавить "ИЛИ" внутрь шаблона:
(Добавление)
А ещё правильнее было так