Я использую PHP DOMDocument для синтаксического анализа и нормализации пользовательского HTML-кода, используя метод loadHTML
для синтаксического анализа содержимого, а затем получаю правильно сформированный результат с помощью saveHTML
:
$dom= new DOMDocument();
$dom->loadHTML('<div><p>Hello World');
$well_formed= $dom->saveHTML();
echo($well_formed);
Это делает прекрасную работу по анализу фрагмента и добавлению соответствующих закрывающих тегов. Проблема в том, что я также получаю кучу ненужных тегов, таких как <!DOCTYPE>
, <html>
, <head>
и <body>
. Я понимаю, что каждый правильно сформированный HTML-документ нуждается в этих тегах, но HTML-фрагмент, который я нормализую, будет вставлен в существующий действительный документ.