我想使用简单的HTML来删除文章中的所有图像,这样我就可以轻松地为新闻播报器创建一个小的文本片段,但是我还没有弄清楚如何用它删除元素。
基本上我会
有什么帮助吗?
发布于 2011-11-22 13:29:26
没有专门的方法来删除元素。您只需找到所有img元素,然后执行
$e->outertext = '';发布于 2012-07-19 07:27:49
当您只删除外部文本时,您将删除HTML内容本身,但是如果您对相同的元素执行另一个查找,则结果中将显示该内容。原因是简单的HTML对象仍然具有元素的内部结构,只是没有它的实际内容。要真正删除元素,您需要做的就是将HTML作为字符串重新加载到同一个变量。这样,就可以在没有删除内容的情况下重新创建对象,而构建简单的HTML对象时也不需要它。
下面是一个示例函数:
public function removeNode($selector)
{
foreach ($this->find($selector) as $node)
{
$node->outertext = '';
}
$this->load($this->save());
}将此函数放入simple_html_dom类中,您就可以了。
发布于 2015-01-14 12:57:17
我认为您有一些困难,因为您忘记了保存(将内部DOM树转储回string)。
试试这个:
$html = file_get_html("http://example.com");
foreach($html ->find('img') as $item) {
$item->outertext = '';
}
$html->save();
echo $html;https://stackoverflow.com/questions/8227481
复制相似问题