有没有办法检索div元素中包含的HTML(和JavaScript)?
答案 0 :(得分:2)
我不是PHP开发人员,但我发现了这个:
function getNodeInnerHTML(DOMNode $oNode)
{
$oDom = new DOMDocument();
foreach($oNode->childNode as $oChild)
{
$oDom->appendChild($oDom->importNode($oChild, true));
}
return $oDom->saveHTML();
}
来自http://www.sitepoint.com/forums/showthread.php?p=4225203
我认为您不能选择仅包含XPath的内容,因此可能需要像上面那样的功能。然后你选择你的div //div[@id='someID']
等。
答案 1 :(得分:0)
$xml=new DOMDOCUMENT();
@$xml->loadHTML($htmlcontents);
$xpath=new DOMXPATH($xml);
$nodes=$xpath->query($xpath);
function getHtml($nodes) {
$result = '';
foreach ($nodes as $node) {
$result .= $node->ownerDocument->saveHtml($node);
}
return $result;
}
答案 2 :(得分:-1)
现在关于:
// div [@ id ='your div']
如果你不关心表现?
答案 3 :(得分:-1)
这将为您提供outerHTML而不是innerHTML,但您可以轻松地在两端剥去额外的DIV标记。
工作示例:
$xpath = new DOMXPath( @DOMDocument::loadHTML($the_html_code) ) ;
$domElement = $xpath->evaluate("//div[@id='ID_of_the_div']")->item(0) ;
$outerHTML = $domElement->ownerDocument->saveXML($domElement) ;