对于获得正则表达式的人来说,这应该是一个简单的。
我在页面上有一个字段,由php预先填充,但可以使用javascript编辑。在“编辑模式”和“固定模式”之间交换时,我需要能够保留换行符。
我理解textareas喜欢他们的换行符\n
,而普通的html喜欢看<br />
个标签。我正在使用函数.replace(/\n/g, '<br />')
从textarea到div,但我不知道如何使用该字段将字段返回到textarea并保留换行符。
此外,我不确定是否只是将<br />
替换为\n
是安全的,以防浏览器认为它更适合<br>
。
答案 0 :(得分:3)
当您在CSS中设置white-space: pre-wrap
时,会保留换行符,而无需使用br
标记替换换行符。
请参阅此示例:http://jsfiddle.net/jVBdm/
更新: white-space: pre-wrap
无法在IE6和IE7中运行(感谢Kenneth J指出这一点),但white-space: pre
可行 - 这可能也可能不够您。您可以使用IE6和IE7的条件样式来使用pre
并在现代浏览器上使用pre-wrap
。
答案 1 :(得分:1)
使用<br />
(xhtml)或<br>
浏览器是否应该完全相同地解析它们并不重要。
我认为你会使用你插入的相同break标记。
为了安全起见,我想你可以做到这两点。
txt = txt.replace(/<br \/>|<br>/gi, '\n')