gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1377
阅读:3975回复:1

如何用js替换文本里的换行符 \n? 变成换行

楼主#
更多 发布于:2021-03-31 13:59
有下面一段文本, 在编辑器里的格式如下:



<div id="foo">
line1
line2
line3
</div>




切换到浏览器, 显示如下


line1line2line3




这里我想使浏览器显示效果变成如下形式


line1
line2
line3

 


编辑器里回车产生的换行符\n是不可见的, 这里我们用js把\n替换为

尝试如下代码:




var txt=$('#id').html();
txts=txts.replace('\n','\n')
$('.wra').html(txts);
$('.wra').html(txts);

或            
 document.getElementById("wra").innerHTML = txts



无效, 因为replace()方法只替换匹配到的第一个字符
如下为正确代码:



var txts = $('.wra').html();
txts=txts.replace(/\n/g,'\n')


$('.wra').html(txts);

或             document.getElementById("wra").innerHTML = txts



使用带有g标识的正则, 可以搜索并替换所有匹配的字符
值得一提的是, 换行符因为操作系统不同会有差异, 因此使用下面的方法更加安全:

var txts = $('.wra').html();
txts=txts.replace(/[\n\r]/g,'\n')
$('.wra').html(txts);

或            
 document.getElementById("wra").innerHTML = txts
gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1377
沙发#
发布于:2021-03-31 13:59
游客


返回顶部