使用Ruby从HTML文档中剥离文本

有很多例子说明如何使用 Ruby一个文档中剥离HTML标签,Hpricot和Nokogiri拥有inner_text方法,可以方便快捷地删除所有的HTML.

我想做的是相反的,从HTML文档中删除所有文本,只留下标签及其属性.

我考虑将文档设置inner_html循环到nil,但是真的你必须这样做,因为第一个元素(root)具有整个文档的inner_html,所以理想情况下,我必须从最内在的元素,并将inner_html设置为零,同时向上移动通过祖先.

有没有人知道这样做有效的一个整洁的小技巧?我正在想,正则表达式的可能会做,但可能不如HTML分类器/解析器那么有效.

解决方法

这也是:
doc = Nokogiri::HTML(your_html)
doc.xpath("//text()").remove

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...