преобразовать часть элемента dom в строку с тегами html внутри них

им необходимо преобразовать часть элемента DOM в строку с тегами html внутри них.

я пробовал следовать, но он печатает только текст без тегов в стороне.

$dom = new DOMDocument(); $dom->loadHTMLFile('http://www.pixmania-pro.co.uk/gb/uk/08920684/art/packard-bell/easynote-tm89-gu-015uk.html'); $xpath = new DOMXPath($dom); $elements=xpath->query('//table'); foreach($elements as $element) echo $element->nodeValue; 

Я хочу, чтобы все теги были такими, какие есть, и содержимое внутри таблиц. Кто-нибудь может мне помочь. это будет приветливая помощь.

Благодарю.

  1. Создать новый экземпляр DomDocument
  2. Узел Clone (со всеми подуточками), который вы хотите сохранить как HTML
  3. Импортируйте клонированный узел в новый экземпляр DomDocument и добавьте его как дочерний
  4. Сохранить новый экземпляр как html

Так что-то вроде этого:

 foreach($elements as $element){ $newdoc = new DOMDocument(); $cloned = $element->cloneNode(TRUE); $newdoc->appendChild($newdoc->importNode($cloned,TRUE)); echo $newdoc->saveHTML(); } 

С php 5.3.6 или выше вы можете использовать узел в DOMDocument :: saveHTML :

 foreach($elements as $element){ echo $dom->saveHTML($element); }