在PHPDOMXPath中,我想用html标记和文本获取我的完整页脚

在PHPDOMXPath中,我想用html标记和文本获取我的完整页脚,php,html,xpath,domdocument,Php,Html,Xpath,Domdocument,我想用domxpath获取包含所有html标记和文本的页脚。 html: 您可以只针对父页脚,然后迭代子页脚,然后使用->saveHTML()并将它们不断添加到字符串容器中: $dom = new DOMDocument('1.0'); $dom->loadHTML($input); $xpath = new DOMXPath($dom); $tags = $xpath->query('//div[contains(@class,"footer")]'); $innerHTML =

我想用domxpath获取包含所有html标记和文本的页脚。 html:


您可以只针对父页脚,然后迭代子页脚,然后使用
->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;

这正是我想要的:)谢谢alot@user3696557当然,我很高兴这有帮助
  $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();
  }

 }
$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;