Я работал с веб-сканером. это работало на нескольких сайтах,
теперь, когда я попробовал это с этим конкретным сайтом, ничего не вышло. без ошибок ничего.
интересно что пошло не так ..
код выглядит так:
<?php
require_once('dom/simple_html_dom.php');
$html = file_get_html('http://www.studentdoc.com/phpBB2/viewforum.php?f=18&sid=2a150b97528c8ec47600692cc77daaf3');
$elementCount=0;
foreach($html->find('dl.icon a') as $elemen) {
foreach($elemen->find('dt a') as $element) {
$elementCount++;
$element->href = "http://www.usmleforum.com" . $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;
}
}
}
?>
перейдите по приведенной ниже ссылке для структуры HTML.
http://www.studentdoc.com/phpBB2/viewforum.php?f=18&ИСС = 2a150b97528c8ec47600692cc77daaf3
Любая помощь приветствуется ..
Там нет элемента DOM, как dl.icon a dt a
, Вы, вероятно, хотите получить dl.icon dt a
, Удалить a
из первого аргумента в методе поиска.
Всегда пытайтесь отлаживать свой код, прежде чем задавать вопросы. просто echo "A"; die(); echo "B"; die();
после каждого утверждения будет очень полезно 🙂
В этом случае во втором foreach всегда есть 0 элементов.
Других решений пока нет …