3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class MyDOMDocument extends DOMDocument { const HTML_EXPORT_CHILDREN = 1; public function saveHTML($node = null, $flags = 0) { $result = ''; if ($node === null) { $node = $this->documentElement; } if ($flags & self::HTML_EXPORT_CHILDREN) { foreach ($node->childNodes as $child) { $result .= parent::saveHTML($child); } } else { $result = parent::saveHTML($node); } return $result; } } $html = <<<HTML <div>hello</div> <div>world</div> HTML; $doc = new DOMDocument; $doc->loadHTML($html); $frag = $doc->createDocumentFragment(); $body = $doc->getElementsByTagName('body')->item(0); while ($body->firstChild) { $frag->appendChild($body->removeChild($body->firstChild)); } echo $doc->saveHTML($frag); echo PHP_EOL; echo PHP_EOL; echo $doc->saveHTML();
based on UmcPG
Output for 5.4.24 - 5.6.28, 7.0.0 - 7.1.0
<div>hello</div> <div>world</div> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body></body></html>
Output for 5.3.6 - 5.4.23, hhvm-3.10.0 - 3.12.0
<><div>hello</div> <div>world</div></> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body></body></html>
Output for 5.0.2 - 5.1.1, 5.1.3 - 5.3.5
Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given in /in/Ev5Wt on line 41 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body></body></html>
Output for 5.1.2
Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given in /in/Ev5Wt on line 42 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body></body></html>
Output for 5.0.0 - 5.0.1
Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given in /in/Ev5Wt on line 41 Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ev5Wt on line 42 PHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ev5Wt on line 43 PHP_EOL<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body></body></html>
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/Ev5Wt on line 5
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/Ev5Wt on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/Ev5Wt on line 5
Process exited with code 255.