Rails中的simple_format
帮助程序将采用文本输入并将换行符转换为p
或br
标记,这与我尝试完成的完全相反。
我如何获取一段看起来像的HTML:
<p>Lorem</p>
<p>Ipsum.
<br />
Lorem ipsum.
<br />
Lorem ipsum.
</p>
<p>
Lorem ipsum.
</p>
并将其转换为类似的内容:
Lorem\n\nIpsum.\nLorem ipsum.\nLorem ipsum.\n\nLorem ipsum.
答案 0 :(得分:1)
new_html = html
.gsub("\n", '') # remove existing new lines
.gsub('</p>', "</p>\n") # add a new line per para tag
.gsub('<br />', "<br />\n") # add a new line per break tag
ActionController::Base.helpers
.strip_tags(new_html) # remove all html tags
答案 1 :(得分:0)
补充上一个答案,您可能希望添加.gsub('<br/>', "<br/>\n")
,以防断开标记为.gsub('<div/>', "<div/>\n")
。只需确保替换所有必须破坏文本的标签。