Techioz Blog

Ruby:
を改行 URI エンコードに変換します

概要

WhatsAppでテキストを共有したいので、HTMLをテキストに変換しています。そうしないと、すべてのタグが表示されます。

現在、strip_tags を使用してタグを削除していますが、テキストから改行も削除されます。 HTML をテキストに変換し、区切りを改行文字に変換し、テキストを URL エンコードするにはどうすればよいですか。

現在、私は次のものを使用しています

@whatsapp_text = u strip_tags(@post.summary)

解決策

この問題を解決するには Nokogiri を使用することをお勧めします。 Nokogiri は HTML を解析し、Web サイトのソースを人間が読めるテキストに変換できますが、HTML の区切りを改行に変換することはできないため、多くの問題を解決できます。これを行うには、Gemfile に次の行を追加します。

gem 'nokogiri'

バンドルのインストールを実行します。次に、次のように問題を解決できます。

Nokogiri::HTML.parse(@post.summary.gsub("<br>", "\r\n").gsub("<br/>", "\r\n")).inner_text

それで済むはずです。