innerHTML в xPath?

Есть ли способ получить HTML (и JavaScript), содержащийся в элементе div?

Я не разработчик 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'] и т. Д.

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

Источник: как получить innerhtml по имени или имени, используя php

Теперь о:

// div [@ id = 'ваш div']

Если вы не заботитесь о производительности?

Это даст вам внешнийHTML, а не 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) ;