Home » Php » php – How to get html code of DOMElement node?

php – How to get html code of DOMElement node?

Posted by: admin April 23, 2020 Leave a comment


I have this html code:

    <div class="foo" data-type="bar">

I already can get the “foo” element (but only its content) with this function:

private function get_html_from_node($node){
  $html = '';
  $children = $node->childNodes;

  foreach ($children as $child) {
    $tmp_doc = new DOMDocument();
    $html .= $tmp_doc->saveHTML();
  return $html;

But I’d like to return all html tags (including its attributes) of DOMElement. How I can do that?

How to&Answers:

Use the optional argument to DOMDocument::saveHTML: this says “output this element only”.

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

Note that the argument is only available from PHP 5.3.6. Before that, you need to use DOMDocument::saveXML instead. The results may be slightly different. Also, if you already have a reference to the document, you can just do this:



PHP Simple HTML DOM Parser should do the job!