将HTML转换为正确的纯文本?

时间:2013-09-18 08:07:52

标签: ruby-on-rails ruby-on-rails-3 html-to-text

有什么方法可以将HTML转换为正确的纯文本?我尝试了从raw到sanitize的所有东西,甚至还有使用text_part方法的Mail gem,它本应该做的就是这样但对我来说不起作用。

到目前为止,我的最佳镜头是strip_tags(strip_links(resource.body)),但<p><ul>等未正确转换。

这或多或少是我在HTML中所拥有的:

Hello

This is some text. Blah blah blah.

Address:
John Doe
10 ABC Street
Whatever City

New Features
- Feature A
- Feature B
- Feature C
Check this out: http://www.google.com

Best,
Admin

转换为类似

的内容
Hello
This is some text. Blah blah blah.
Address: John Doe 10 ABC Street Whatever City

New Features Feature A Feature B Feature C
Check this out: http://www.google.com

Best, Admin

有什么想法吗?

2 个答案:

答案 0 :(得分:13)

Rails 4.2.1有#strip_tags,这是一种内置方法,尤其适用于剥离HTML标记。

一些例子:

strip_tags("Strip <i>these</i> tags!")

=&GT;剥去这些标签!

strip_tags("<b>Bold</b> no more!  <a href='more.html'>See more here</a>...")

=&GT;大胆不再!在这里看到更多......

strip_tags("<div id='top-bar'>Welcome to my website!</div>")

=&GT;欢迎来到我的网站!

API docs中查看。

答案 1 :(得分:7)