在读取html中textContent(innerText||innerHTML)换行的时候,将这个字符串直接复制到记事本回车会变成小黑矩形,这时我们要对这个字符串做些处理
var textvalue=text.replace("<br>","\r\n");//替换text的首个,<br>被替换成\r\n
var textvalue2=text.replace(/<br>/gi,"\r\n");//替换全部
下面是解释
在Windows环境中,
如果输入到文本文件,程序中的一个 '\n '换行符被解释成 '\r '、 '\n '两个字符(回车、换行);
相反,如果读取文本文件,文件中的相邻的两个 '\r '、 '\n '会合并为一个 '\n '输出。
而在Unix/Linux环境下, '\n '就是 '\n ',保持不变。
今天在服务器上做测试的时候又出现了未换的行这个问题,于是用chrome试了一下,发现通过ajax读取进来的html页面只有换行符(\n)导致问题重现
于是
var textvalue=text.replace(/\n|\n\r/g,'\r\n');测试通过,看来要学的东西还很多啊