我用nokogiri取消了一個html頁面,我想剝去所有樣式屬性。
我該如何做到這一點? (我不使用軌道,所以我不能用它的sanitize方法,我不希望使用的sanitize寶石「因爲我想黑名單中刪除不白名單)nokogiri帶狀樣式屬性
html = open(url)
doc = Nokogiri::HTML(html.read)
doc.css('.post').each do |post|
puts post.to_s
end
=> <p><span style="font-size: x-large">bla bla <a href="http://torrentfreak.com/netflix-is-killing-bittorrent-in-the-us-110427/">statistica</a> blabla</span></p>
我希望它是
=> <p><span>bla bla <a href="http://torrentfreak.com/netflix-is-killing-bittorrent-in-the-us-110427/">statistica</a> blabla</span></p>
哇。那很簡單!我喜歡它。謝謝! – keepitterron 2011-05-25 08:14:16
使用'doc.xpath('.//@style')。remove'從所有節點中刪除所有內聯樣式,請注意下面的@bricker提到的'.'。鏈'.to_s'獲取生成的html字符串。 – 2014-03-16 01:08:49
更正:不要鏈接它,而是使用'description.to_s'來獲得生成的html字符串。如果您不想使用'DOCTYPE',則應該使用'Nokogiri :: HTML.fragment'方法,請參閱http://stackoverflow.com/questions/4723344/how-to-prevent-nokogiri-from-adding- doctype-tags – 2014-03-16 01:17:15