Используя функции DOM PHP, как вы конвертируете содержимое узла DOM в строку?
<foo> Blah blah <bar baz="1">bah</bar> blah blah </foo>
Учитывая foo
как текущий узел контекста, как вы получаете 'Blah blah <bar baz="1">bah</bar> blah blah'
как строку? Использование $node->textContent
или $node->nodeValue
просто возвращает текстовые узлы, а не бит <bar baz="1">
.
В принципе, эквивалент свойства innerHTML
Javascript …
Вы можете создать новый DOMDocument с узла <foo>
и проанализировать его как XML или HTML:
function getInnerHTML($node) { $tmpDoc = new DOMDocument('1.0'); $block = $tmpDoc->importNode($node->cloneNode(true),true); $tmpDoc->appendChild($block); $outer = $tmpDoc->saveHTML(); //this will remove the outer tags return substr($outer,strpos($outer,'>')+1,-(strlen($node->nodeName)+4)); }