如何<img>使用Nokogiri 删除标签?
我有以下代码,但它不会工作:
# str = '<img src="canadascapital.gc.ca/data/2/rec_imgs/5005_Pepsi_H1NB.gif"/…; testt<a href="#">test</a>tfbu'
f = Nokogiri::XML.fragment(str)
f.search('//img').each do |node|
node.remove
end
puts f
Run Code Online (Sandbox Code Playgroud)
xds*_*000 74
试试!
f = Nokogiri::XML.fragment(str)
f.search('.//img').remove
puts f
Run Code Online (Sandbox Code Playgroud)
the*_*Man 10
我更喜欢CSS而不是XPath,因为它通常更具可读性.切换到CSS:
require 'nokogiri'
doc = Nokogiri::HTML('<html><body><img src="foo"><img src="bar"></body></html>')
Run Code Online (Sandbox Code Playgroud)
解析文档后看起来像:
doc.to_html
# => "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body>\n<img src=\"foo\"><img src=\"bar\">\n</body></html>\n"
Run Code Online (Sandbox Code Playgroud)
删除<img>标签:
doc.search('img').each do |src|
src.remove
end
Run Code Online (Sandbox Code Playgroud)
结果是:
doc.to_html
# => "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body></body></html>\n"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27138 次 |
| 最近记录: |