file.html
<div class="a">
<div class="ac"> ssssssssss </div>
<div class="aa"> hhhhhhh </div>
<p> dddd </p>
<p class="ss">dddddddd </p>
<span> ssssssss </span>
<div class="sa"> <p> sss </p></div>
<div class="ssa"> <p> sss </p></div>
<div class="sa"> <span> sss </span></div>
<!-- stop all if it comes to this div dont show anything under -->
<div class="stop-here"> </div>
<div class="sssa"> <p> sss </p></div>
<div class="ssssa"> <p> sss </p></div>
</div>
我有一个file.html,我希望得到一个div内的所有标签,我希望它一旦看到一个带有“停止在这里”类的div就停止获取内容
$html = new DOMDocument();
@$html->loadHtmlFile('file.htm');
$xpath = new DOMXPath( $html );
$nodelistfulldesc = $xpath->query( "//div[@class='a']" );
foreach ($nodelistfulldesc as $fdn)
{
$m .= $fdn->nodeValue;
}
这是用来获取所有内容的php,但是无法阻止它。
答案 0 :(得分:1)
您可以使用此类xpath在div[@class='a']
div[@class="stop-here"]
中的所有节点
`//div[@class='a']/*[following::div[@class="stop-here"]]`
更新非常简单
div[@class='a']/*
占用节点的所有子节点
[following::div[@class="stop-here"]]
从中选择div[@class="stop-here"]
提前