PHP XPath. Как вернуть строку с тегами html?

<?php libxml_use_internal_errors(true); $html = ' <html> <body> <div> Message <b>bold</b>, <s>strike</s> </div> <div> <span class="how"> <a href="link" title="text">Link</a>, <b> BOLD </b> </span> </div> </body> </html> '; $dom = new DOMDocument(); $dom->preserveWhiteSpace = false; $dom->strictErrorChecking = false; $dom->recover = true; $dom->loadHTML($html); $xpath = new DOMXPath($dom); $messages = $xpath->query("//div"); foreach($messages as $message) { echo $message->nodeValue; } 

Этот код возвращает «Message bold, strike Link, BOLD» без тэгов html …

Я хочу вывести следующий код:

 Message <b>bold</b>, <s>strike</s> <span class="how"> <a href="link" title="text">Link</a>, <b> BOLD </b> </span> 

Вы можете мне помочь?

Related of "PHP XPath. Как вернуть строку с тегами html?"

Я могу сделать это с помощью SimpleXML очень быстро (если вам удобно переключаться с DOMDocument и DOMXPath, возможно, вы пойдете с моим решением):

 $html = ' <html> <body> <div> Message <b>bold</b>, <s>strike</s> </div> <div> <span class="how"> <a href="link" title="text">Link</a>, <b> BOLD </b> </span> </div> </body> </html> '; $xml = simplexml_load_string($html); $arr = $xml->xpath('//div/*'); foreach ($arr as $x) { echo $x->asXML(); } 
 $dom = new DOMDocument; foreach($messages as $message) { echo $dom->saveHTML($message); } 

Использовать saveHTML()