phpでDOMDocumentのloadHTMLで勝手にDOCTYPEやBODYが追加されるのを防ぐには

loadHTML時にオプションを指定してあげればいいが、数値参照になることや、文字化けすることは避けられない。

$doc->loadHTML($str, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);