如何用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);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM