Javascript str.replace()方法未按预期工作
我正在尝试将所有出现的\n替换为要在HTML中显示的字符串中的Javascript str.replace()方法未按预期工作,javascript,angular,Javascript,Angular,我正在尝试将所有出现的\n替换为要在HTML中显示的字符串中的标记。似乎它没有按预期工作。它不会替换字符串中的任何\n。我只是想告诉大家,我正在从API获取文本 some.component.html <p class="notes-desc" [innerHTML]="replaceHtml(note.noteDesc) | safeHTML" ></p> 一些 replaceHtml(text) { if (!text
标记。似乎它没有按预期工作。它不会替换字符串中的任何\n。我只是想告诉大家,我正在从API获取文本 some.component.html
<p class="notes-desc"
[innerHTML]="replaceHtml(note.noteDesc) | safeHTML"
></p>
一些
replaceHtml(text) {
if (!text || !text.length) {
return text;
}
console.log(text);
const textFrm = text.replace(/\n/g, "<br/>");
console.log(textFrm);
return textFrm;
}
replaceHtml(文本){
如果(!text | |!text.length){
返回文本;
}
console.log(文本);
const textFrm=text.replace(/\n/g,“
”);
console.log(textFrm);
返回文本FRM;
}
您只需要使用
innerText
而不是innerHtml
。
试试这个代码
函数myCallback(响应){
var response_div=document.getElementById(“response_div”);
response_div.innerText=JSON.parse(response).stringOutput;
}
它与您所期望的
文本的用途相同。替换(/\n/g,“
”)
应将\n
替换为
。你期望得到什么?通过这个方法,我不会在输出中得到任何替换的字符串。但是如果我在chrome开发控制台上尝试同样的事情。它正在按预期工作。你确定这是一条新的生产线,而不是一条回车线吗??也尝试使用\r
。另外,请尝试在方法中完全关闭Dom清理,请参见ref:字符串是否包含单个换行符(即\n
)或是否包含文本字符串“\n”
(反斜杠和“n”)?您正在替换换行符,如果要替换文字字符串,则需要转义反斜杠:/\\n/g
可能的重复