- blogs:
- cles::blog
2015/06/05

HTML をプレーンテキストに変換する (Ruby 編)

先日、Python で HTML をテキストに変換しましたが、Ruby でももっとお手軽に HTML -> テキスト変換が出来るはずだと思って、改めて調べ直してみたら rgrove/sanitize を使うと簡単に実現できることが分かったので改めてメモ。
† gem sanitize を使う
インストールは gem install sanitize を使えば一撃でできます。あとは Sanitize.clean () を呼ぶだけというシンプルさ。
div タグや p タグがスペースになるのが気になりましたが、これは :whitespace_elements を使えば調整できることが分かりました。
irb(main):001:0> require 'bundler'
Bundler.require=> true
irb(main):002:0> Bundler.require
=> [<Bundler::Dependency type=:runtime name="sanitize" requirements=">= 0">]
irb(main):003:0> html = '<body><a href="http://example.com">linktext</a><div>divtext<br />div2gyoume</div><span>spantext</span></body>'
=> "<body><a href=\"http://example.com\">linktext</a><div>divtext<br />div2gyoume</div><span>spantext</span></body>"
irb(main):004:0> Sanitize.clean(html, :whitespace_elements => [:p, :div] )
=> "linktextdivtextdiv2gyoumespantext"
irb(main):005:0> Sanitize.clean(html)
=> "linktext divtext div2gyoume spantext"
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/7656
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112139)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110782)
3 . 年次の人間ドックへ(110377)
4 . 2023 年分の確定申告完了!(1つめ)(109924)
5 . 三菱鉛筆がラミーを買収(109823)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110782)
3 . 年次の人間ドックへ(110377)
4 . 2023 年分の確定申告完了!(1つめ)(109924)
5 . 三菱鉛筆がラミーを買収(109823)
cles::blogについて
Referrers