Использование флага LIBXML_HTML_NOIMPLIED с фрагментом html генерирует неправильные теги:
$str = '<p>Lorem ipsum dolor sit amet.</p><p>Nunc vel vehicula ante.</p>';
$doc = new DOMDocument();
$doc->loadHTML($str, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
echo $doc->saveHTML();
Выходы:
<p>Lorem ipsum dolor sit amet.<p>Nunc vel vehicula ante.</p></p>
Я нашел хаки, чтобы обойти это с помощью регулярных выражений, но это побеждает цель использования DOM. Я тестировал это с несколькими версиями libxml и php, последними с libxml 2.9.2, php 5.6.7 (Debian Jessy). Любые предложения оценили.