Ruby:将<br>转换为换行URI编码

Ruby: Convert <br> to newline URI encode

我想在 whatsapp 上分享一些文本,所以我将 html 转换为文本,否则它会显示所有标签。

目前我正在使用 strip_tags 来删除标签,但这也会删除文本中的中断。如何将 html 转换为文本并将分隔符转换为换行符并 url 对文本进行编码。

目前我正在使用以下

@whatsapp_text = u strip_tags(@post.summary)

我建议你使用Nokogiri来解决这个问题。 Nokogiri 可以解析 HTML 并将网站源代码转换为人类可读的文本,尽管它不会将 html 中断转换为换行符,但它可以为您解决许多问题。为此,将以下行添加到您的 Gemfile

gem 'nokogiri'

运行bundle install。那么你可以这样解决你的问题:

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

这应该适合你。