Php 使用domxpath从节点中删除所有文本

Php 使用domxpath从节点中删除所有文本,php,dom,domxpath,Php,Dom,Domxpath,我试图从节点中删除所有文本,但当我删除文本时,它会删除正常文本,而不是表文本和内部div的文本 这是我的密码: $dom = new DOMDocument(); $result = $dom->loadHTML($html); $finder = new DomXPath($dom); //$nodes = $finder->query('//div[starts-with(@id, "post_message_")]'); $nodes = $finder->quer

我试图从节点中删除所有文本,但当我删除文本时,它会删除正常文本,而不是表文本和内部div的文本

这是我的密码:

$dom    = new DOMDocument();
$result = $dom->loadHTML($html);
$finder = new DomXPath($dom);
//$nodes = $finder->query('//div[starts-with(@id, "post_message_")]');
$nodes = $finder->query('//div[contains(text(), "") and .//img and .//a and starts-with(@id, "post_message_")]');
但它在节点中为我提供了以下html:

<div id="post_message_31962189">.<br><div align="center"><img src="http://s3.postimage.odf.jpg" border="0" alt=""></div><br><b><div align="center"><font size="5"><font color="Blue"><br><br>
WATERMARKED <br><br>
ADDED 4  IN LAST PAGE<br><br></font></font></div></b><br>
=============================================================================<br>
     IN HOTEL  <br><br><b><font size="4"><font color="Red">  i promise        </font></font></b><br><br><b><div align="center"><font size="5"><font color="Blue">ADDED 4 NEW </font></font></div></b><br><br><br><a href="http://asd.sd./tml8rfg4" rel="nofollow" target="_blank">Ashoka hotel</a><br><br><br><br><img src="http:/img.jpg" border="0" alt=""></div>





带水印的

在最后一页中添加了4个


=======================================================================================================
在酒店

我保证

新增了4个









我想删除除img a和br之外的所有内容。

与其删除您不想要的所有内容,您是否尝试提取您想要的内容?实际上,message div中的所有内容,那么我如何检索它们?我尝试了您的建议,但所有数据都聚集在一起,数据显示不正确。所以,如果有,尝试内部div。有什么建议吗?