dav*_*ley 9 html ruby hpricot nokogiri
有很多关于如何使用Ruby从文档中剥离HTML标记的示例,Hpricot和Nokogiri都有inner_text方法,可以轻松快速地删除所有HTML.
我想要做的是相反,删除HTML文档中的所有文本,只留下标记及其属性.
我考虑通过将inner_html文件设置为nil来循环,但实际上你必须反向执行此操作,因为第一个元素(root)具有文档其余部分的inner_html,所以理想情况下我必须从最内层的元素,并将inner_html设置为nil,同时向上移动通过祖先.
有没有人知道一个巧妙的小技巧,有效地做到这一点?我想也许正则表达式可能会这样做,但可能不像HTML tokenizer/parser那样有效.
and*_*e-r 38
这也有效:
doc = Nokogiri::HTML(your_html)
doc.xpath("//text()").remove
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10066 次 |
| 最近记录: |