我应该如何排除特定的div
儿童被打印出来?
示例:从下面的代码中,父div被称为<div class="event-panel">
,它有div
,<div class="details">
和<div class="games">
的子<div class="wrap">
s。
所以我想要的是内部的所有div都不应该被打印出来,比如这个<div class="empty-outcome"> </div>
以及所有其他将在包装div中,我已经使用了这个方法应该可以工作但是我不知道我哪里错了。
应删除父div,<div class="event-panel">
,请参阅下面的代码。
HTML结构:
<div class="event-panel">
<div class="details">
<div class="event-date">22:00</div>
<div class="event-name">Serie A 2017 v Winner</div>
</div>
<div class="games">
<div class="wrap">
<div class="empty-outcome"> </div>
<div class="empty-outcome"> </div>
<div class="empty-outcome"> </div>
<div class="empty-outcome"> </div>
<div class="empty-outcome"> </div>
<div class="empty-outcome"> </div>
<div class="empty-outcome"> </div>
<div class="empty-outcome"> </div>
<div class="empty-outcome"> </div>
<div class="empty-outcome"> </div>
</div>
<div class="full-event-button" onclick="prestige('/event /3123361')">+1</div>
</div>
</div>
执行代码:
<?php
include ('advanced_html_dom.php');
$html = file_get_html('https://sport.premierbet.com/tz/sport/1/#');
//Counting number of empty-outcome
$emptv = count($gameone = $html->find('div[class="empty-outcome"]'));
echo "Number of empty attribute is " . $emptv . '<br>';
//Print any data that i want but exclude this <div class="empty-outcome"> </div>
foreach ($html->find('empty-outcome') as $item)
{
$item->outertext = '';
$ret = $item->find('div[class="event-name"]');
echo "Event Name " . $ret . "<br>";
}
$html->clear();
?>
你使用的是错误的CSS,它应该是:
$html->find('.empty-outcome')
这里还有一个删除它们的快捷方式:
$html->find('.empty-outcome')->remove;