- error_reporting: documentation ( source)
- libxml_use_internal_errors: documentation ( source)
<?php
declare(strict_types=1);
error_reporting(E_ALL);
$xml = <<<'_XML'
<section>
<div id="first-section">
<ul>
<li>Test</li>
<li>Test</li>
</ul>
</div>
<div id="second-section">
<ul>
<li>Test</li>
<li>Test</li>
</ul>
<div id="sub-section">
<h2>Hello World</h2>
</div>
</div>
<div id="third-section">
<ul>
<li>Test</li>
<li>Test</li>
</ul>
</div>
</section>
_XML;
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTML($xml);
echo $doc->saveHTML($doc->getElementById('sub-section'));
echo "\n\n";
$newDoc = new DOMDocument();
$newDoc->appendChild($newDoc->importNode($doc->getElementById('sub-section'), true));
echo $newDoc->saveHTML();