使用PHP设置从页面获取div内容的开始和停止

时间:2015-07-18 19:46:30

标签: php html

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,但是无法阻止它。

1 个答案:

答案 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"]提前

的那些人