gpt4 book ai didi

ruby-on-rails - Hpricot 元素交集

转载 作者:太空宇宙 更新时间:2023-11-03 17:41:58 25 4
gpt4 key购买 nike

我想从 HTML 页面(实际上是 tinymce 用户输入)中删除所有不符合特定条件(class = "int"或 class = "ext")的图像,我正在努力寻找正确的方法。这就是我目前所做的:

hbody = Hpricot(input)
@internal_images = hbody.search("//img[@class='int']")
@external_images = hbody.search("//img[@class='ext']")

但我不知道如何找到类具有错误值(不是“int”或“ext”)的图像。

我还必须遍历元素以检查非标准 html 的其他属性(我使用它们来设置内部值,例如我在属性 dbsrc 中设置的 DB id)。我也可以访问这些属性吗?有没有办法在某些元素(在 hpricot 搜索结果中)不符合我的条件时删除它们?

感谢您的帮助!

最佳答案

>> doc = Hpricot.parse('<html><img src="foo" class="int" /><img src="bar" bar="42" /><img src="foobar" class="int"></html>')
=> #<Hpricot::Doc {elem <html> {emptyelem <img class="int" src="foo">} {emptyelem <img src="bar" bar="42">} {emptyelem <img class="int" src="foobar">} </html>}>
>> doc.search("img")[1][:bar]
=> "42"
>> doc.search("img") - doc.search("img.int")
=> [{emptyelem img src"bar" bar"42"}]

一旦您从搜索中获得结果,您就可以使用正常的数组操作。非标准属性可通过 [] 访问。

关于ruby-on-rails - Hpricot 元素交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1058716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com