如何用js替换文本里的换行符 \n?
有下面一段文本, 在编辑器里的格式如下:
<div id="foo"> line1
line2
line3
</div>
切换到浏览器, 显示如下
line1line2line3
这里我想使浏览器显示效果变成如下形式
line1
line2
line3
编辑器里回车产生的换行符\n是不可见的, 这里我们用js把\n替换为<br>
尝试如下代码:
var txt=$('#id').html(); txts=txts.replace('\n','<br>') $('.wra').html(txts);
无效, 因为replace()方法只替换匹配到的第一个字符
如下为正确代码:
var txts = $('.wra').html(); txts=txts.replace(/\n/g,'<br>') $('.wra').html(txts);
使用带有g标识的正则, 可以搜索并替换所有匹配的字符
值得一提的是, 换行符因为操作系统不同会有差异, 因此使用下面的方法更加安全:
var txts = $('.wra').html(); txts=txts.replace(/[\n\r]/g,'<br>') $('.wra').html(txts);