Html “如何做”;逆;钢轨';简单格式?
Rails中的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
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