鉴于textarea中的以下文字:
Line 1 stuff.. Line 1 stuff.. Line 1 stuff.. Line 1 stuff.. Line 1 stuff..
Line 2 stuff.. Line 2 stuff.. Line 2 stuff.. Line 2 stuff.. Line 2 stuff..
我想将新行转换为<BR>
代码,而不是使用simple_format <P>
代码......
所以我试过了:
str = str.gsub("\r\n", '<br>')
问题是这是两个<BR>
标签:
<div class="message">line 1<br><br>Line 2</div>
如何制作一个<BR>
代码?
答案 0 :(得分:7)
str = str.gsub(/[\r\n]+/, "<br>")
这会将任意数量的连续\r
和/或\n
字符转换为单个<br>
。
答案 1 :(得分:2)
最好的方法是使用simple_format(str)
。
simple_format()是一个辅助函数,它将包含新行和回车的整个字符串转换为<br>
参考:http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format
答案 2 :(得分:1)
这意味着你有两次出现“\ r \ n”。因此,您可以清理输入或预期正则表达式中的这种情况。
答案 3 :(得分:0)
输入文本中有两个换行符。如果您希望有一个<br/>
,请执行以下操作:
str = str.gsub("\r\n\r\n", '<br />');