loadxml leer example ejemplo php dom domdocument dom-node

php - leer - ¿Cómo obtener el código html del nodo DOMElement?



loadxml php (2)

Use el argumento opcional para DOMDocument::saveHTML : esto dice "solo salida este elemento".

return $node->ownerDocument->saveHTML($node);

Tenga en cuenta que el argumento solo está disponible desde PHP 5.3.6. Antes de eso, necesitas usar DOMDocument::saveXML en DOMDocument::saveXML lugar. Los resultados pueden ser ligeramente diferentes. Además, si ya tiene una referencia al documento, puede hacer esto:

$doc->saveHTML($node);

Tengo este código html:

<html> <head> ... </head> <body> <div> <div class="foo" data-type="bar"> SOMECONTENTWITHMORETAGS </div> </div> </body>

Ya puedo obtener el elemento "foo" (pero solo su contenido) con esta función:

private function get_html_from_node($node){ $html = ''''; $children = $node->childNodes; foreach ($children as $child) { $tmp_doc = new DOMDocument(); $tmp_doc->appendChild($tmp_doc->importNode($child,true)); $html .= $tmp_doc->saveHTML(); } return $html; }

Pero me gustaría devolver todas las etiquetas html (incluidos sus atributos) de DOMElement. ¿Como puedo hacer eso?