繁体   English   中英

在php domxpath中,我想用html标签和文本抓住我的完整页脚

[英]In php domxpath i want to grab my full footer with html tags and text

我想使用domxpath抓取包含所有html标签和文本的页脚。 HTML:

 <div class="footer">
 <div class="footer-new">
 <div class="footer-additional">
 <div class="add-top">
    some text here
</div>...

我在我的页脚中有文本链接和图像我只想要所有的html,就像我们在源代码中获得所有标签一样。 谢谢..

我正在尝试这样的事情:

  $dom = new DOMDocument('1.0');
  $dom->loadHTML($input);
  $xpath = new DOMXPath($dom);
  $tags=$xpath->query('//div[contains(@class,"footer")]');

foreach ($tags as $tag) {
  $innerHTML = '';

$children = $tag->childNodes;
foreach ($children as $child) {
    $tmp_doc = new DOMDocument();
    $tmp_doc->appendChild($tmp_doc->importNode($child,true));        
    $innerHTML .= $tmp_doc->saveHTML();
  }

 }

您可以只定位父页脚,然后迭代子项然后使用->saveHTML()并不断将它们添加到字符串容器中:

$dom = new DOMDocument('1.0');
$dom->loadHTML($input);
$xpath = new DOMXPath($dom);
$tags = $xpath->query('//div[contains(@class,"footer")]');

$innerHTML = '';
if($tags->length > 0) { // if found
    foreach($tags->item(0)->childNodes as $c) {
        $innerHTML .= $dom->saveHTML($c);
    }
}

echo $innerHTML;

样本输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM