Я работал над этим веб-сканером. он работает нормально, за исключением того, что он печатает каждый извлеченный оператор дважды.
Я попытался повторить на каждом цикле, но кажется, что это нужно из коробки в перспективе.
мой код выглядит так:
<?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;
}
}
?>
Любая помощь приветствуется ..
Проблема возникает из-за того, что элемент существует на веб-странице дважды. Вы должны сузить свой find
параметры как это:
foreach($html->find('div.hidden-lg div div div div h3.h3-forum-title a') as $element) {
// process the elements
}
Других решений пока нет …