Html “如何做”;逆;钢轨';简单格式?

Html “如何做”;逆;钢轨';简单格式?,html,ruby-on-rails,ruby,escaping,string-conversion,Html,Ruby On Rails,Ruby,Escaping,String Conversion,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.\nL

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.
new_html=html
.gsub(“\n”,”)#删除现有的新行
.gsub(“

”,“

\n”)#为每个段落标记添加新行 .gsub(“
,“
\n”)#为每个中断标记添加新行 ActionController::Base.helpers .strip_标记(新建_html)#删除所有html标记
补充前面的答案,您可能需要添加
.gsub('
',“
\n”)
,以防断开标记是这样的,
.gsub('''.“\n”)
。请确保您正在替换所有必须打断文本的标记。

谢谢您的回答。你是否愿意更新你的答案,并解释你正在做的事情。具体来说,通过
strip_标签运行它的原因是什么?
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