Используя DOMDocument, я пытаюсь прочитать часть HTML-файла и отображать его на другой странице HTML, используя приведенный ниже код. Часть DIV, к которой я пытаюсь получить доступ, имеет несколько тегов <p>
. Проблема заключается в том, что DOM анализирует файл, он только извлекает текстовое содержимое между тегами <p>
– теги полосок – и форматирование абзаца теряется. Он объединяет тексты и отображает их все как один абзац. Как я могу сохранить форматирование HTML, чтобы абзацы отображались так, как они были в исходном файле?
Код HTML
<div class="text_container"> <h3>Title</h3> <p>Lorem ipsum dolor sit amet, consectetur adipiscing eli. Lorem ipsum dolor sit amet, consectetur adipiscing eli.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing eli. Lorem ipsum dolor sit amet, consectetur adipiscing eli.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing eli. Lorem ipsum dolor sit amet, consectetur adipiscing eli.</p>
Код DOMDocumnet
<?php $page = file_get_contents('word.php'); $doc = new DOMDocument(); $doc -> loadHTML($page); $divs = $doc->getElementsByTagName('div'); foreach($divs as $div) { if ($div->getAttribute('class') === 'text_container') { echo '<p>',$div->nodeValue,'</p>'; } ?>