PHP Web Crawler печатает дважды извлеченные каждое утверждение

Я работал над этим веб-сканером. он работает нормально, за исключением того, что он печатает каждый извлеченный оператор дважды.

Я попытался повторить на каждом цикле, но кажется, что это нужно из коробки в перспективе.

мой код выглядит так:

<?php
require_once('dom/simple_html_dom.php');
$html = file_get_html('https://www.uworld.com/Forum/topics.aspx?ForumID=1&gid=1');
$elementCount=0;
foreach($html->find('h3.h3-forum-title a') as $element) {
$elementCount++;
$element->href = "http://www.studentdoc.com/phpBB2/" . $element->href;
echo '<li target="_blank" class="itemtitle">';
if($elementCount < 5 && $elementCount > 2 && rand(0,1) == 1) {
echo '<span class="item_new">new</span>';
}
echo $element;
echo '</li>';
if($elementCount==12){
break;
}
}
?>

Любая помощь приветствуется ..

0

Решение

Проблема возникает из-за того, что элемент существует на веб-странице дважды. Вы должны сузить свой find параметры как это:

foreach($html->find('div.hidden-lg div div div div h3.h3-forum-title a') as $element) {
// process the elements
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector