如何将换行符转换为<BR>标签?

3
在文本区域中给出以下文本:
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>标签,而非使用简单格式的<P>标签...

因此,我尝试了:

 str = str.gsub("\r\n", '<br>')

问题是这会生成两个 <BR> 标签:
<div class="message">line 1<br><br>Line 2</div>

如何只使用一个<BR>标签呢?

可能是重复的问题:[Rails 3:如何正确显示来自“ textarea”的文本?](https://dev59.com/Em025IYBdhLWcg3wsIMU) - Mark Thomas
以这种方式使用<br/>不是语义化的;请使用更合适的元素,例如段落或列表元素。 - outis
4个回答

7

6
str = str.gsub(/[\r\n]+/, "<br>")

这将把任意数量连续的\r和/或\n字符转换为单个<br>标签。


1
这意味着你有两个"\r\n"的出现。所以你可以对输入进行清理或在正则表达式中预期这种情况。
看一下这个:Ruby gsub / regex modifiers?

0

输入文本中有两个换行符。如果想要只有一个<br/>,只需要这样做:

str = str.gsub("\r\n\r\n", '<br />');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接