我想使用 Simple HTML DOM 删除文章中的所有图像,这样我就可以轻松地为新闻自动收录机创建一小段文本,但我还没有弄清楚如何使用它删除元素。
基本上我会做
- 获取内容作为 HTML 字符串
- 从内容中删除所有图像标签
- 将内容限制为 x 个字
- 输出。
有什么帮助吗?
原文由 kasakka 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想使用 Simple HTML DOM 删除文章中的所有图像,这样我就可以轻松地为新闻自动收录机创建一小段文本,但我还没有弄清楚如何使用它删除元素。
基本上我会做
有什么帮助吗?
原文由 kasakka 发布,翻译遵循 CC BY-SA 4.0 许可协议
当您只删除外部文本时,您会删除 HTML 内容本身,但如果您对相同的元素执行另一次查找,它将出现在结果中。原因是简单的 HTML DOM 对象仍然具有元素的内部结构,只是没有实际内容。为了真正删除元素,您需要做的只是将 HTML 作为字符串重新加载到同一个变量。这样,将在没有删除内容的情况下重新创建对象,并且将在没有它的情况下构建简单的 HTML DOM 对象。
这是一个示例函数:
public function removeNode($selector)
{
foreach ($this->find($selector) as $node)
{
$node->outertext = '';
}
$this->load($this->save());
}
将此函数放在 simple_html_dom 类中就可以了。
原文由 Dr. Reshef 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答1.2k 阅读
1 回答1.2k 阅读
1 回答1k 阅读
没有专门的方法来删除元素。您只需找到所有 img 元素,然后执行