我们有一个默认自动生成的显示消息,但可能会被来自网址的GET变量覆盖。由于我们需要将消息视为用户输入,因此必须将其转义以供显示。但是,我们希望保留包含换行符的功能。
换行符为<br>
这不起作用,因为转义HTML会破坏<br>
标记。
换行符为\n
我无法弄清楚如何让\n
呈现为换行符。我认为将它放在标签中会正确呈现,但没有运气:http://jsfiddle.net/7L932/
答案 0 :(得分:7)
转义HTML,然后将\n
替换为<br>
。
如果你想使用\ n,我会为你解决你的小提琴http://jsfiddle.net/hr3bg/
答案 1 :(得分:3)
你正在做的事情或多或少都不错,除了你应该放置\n
字符(换行符),而不是html中的转义序列(以及Prinzhorn所说的也很有道理,所以我会去投票他。)
答案 2 :(得分:3)
你的理论声音,但\n
不是HTML识别的插入新行的方式。它或者显式地(因为我已插入新的.linebreaks
元素中)作为标记中的文字返回,或者,如果您使用的某些中间脚本语言 识别\n
(就像JS一样),这样做(就像我用你插入的jQuery代码对你的第一个.linebreaks
所做的那样。
请参阅我的调整示例:http://jsfiddle.net/barney/7L932/2/
答案 3 :(得分:1)
将包装器HTML css设置为white-space: pre-line
对我有用。它启用\ n字符的换行功能