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

 

转载于:https://www.cnblogs.com/skura23/p/7243828.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值