Loading...
Другие языки | Требуется помощь с парсингом
Привет.Пишу парсер один, понадобилось хапнуть некий текст.

$html=file_get_contents('https://pashalki.ru/2016/07/23/pasxalki-v-gta-san-andreas/');
preg_match_all('/\<p\>(.+?)\<\/p\>/iSu',$html,$text);
foreach($text as $s) {
foreach($s as $p){
echo '<div class=con>'.$p.'</div>';
}
}

Текст парсит, но увы дублирует при выводе.Тоесть у нас получается два абсолютно идентичны блока.Я думаю, что проблема в переборе вложенного массива.Но если его перебирать одним foreach , то увы нам вылезает ошибка, что внутри у нас ещё один массив лежит.
Буду благодарен за помощь.
________
посл. ред. 20.10.2018 в 14:21; всего 2 раз(а); by Chappie
Скорее всего у меня проблема с массивами, ибо выборка ссылок тоже у меня дубляжем пошла.
Как тогда иначе вывести вложенные массивы.
http://php.net/manual/ru/function.preg-match-all.php
<?php

$html = file_get_contents('https://pashalki.ru/2016/07/23/pasxalki-v-gta-san-andreas/');
preg_match_all('|<p>(.*?)</p>|is', $html, $text);

for ($i = 0; $i <= count($text[1]); $i++) echo '<div class=con>'.$text[1][$i].'</div>';
Сибирский (20.10.2018 в 14:50)
http://php.net/manual/ru/function.preg-match-all.php

Зачем мне вновь читать ,что такое ренулярка, я про массив спрашиваю.
Регулярка у меня верно составлена, вот не могу правильно разобрать результат.
d1nka, спасибо, щас попробую.
Chappie (20.10.2018 в 14:52)
d1nka, спасибо, щас попробую.

https://ok.mbattle.ru живой пример
d1nka, спасибо, работает :)
Chappie, вот это место читай внимательно
PREG_PATTERN_ORDER

Упорядочивает результаты так, что элемент $matches[0] содержит массив полных вхождений шаблона, элемент $matches[1] содержит массив вхождений первой подмаски и т.д.
Онлайн: 5
Время:
Gen. 0.104
(c) ByMAS.RU 2010-2025