我有一个多行字符串:
assign R = A + B;
我想将其注入HTML代码中。我设法用let str = 'line first \n line-second-preceded-with-a-few-spaces';
替换所有空格,我想对replace(/ /g, '\u00a0')
执行相同操作,但Wikipedia中提到的所有Unicode值都不起作用。
Unicode标准定义了符合的许多字符 应用程序应识别为行终止符:
\n
LF: Line Feed, U+000A
VT: Vertical Tab, U+000B
FF: Form Feed, U+000C
CR: Carriage Return, U+000D
CR+LF: CR (U+000D) followed by LF (U+000A)
NEL: Next Line, U+0085
LS: Line Separator, U+2028
PS: Paragraph Separator, U+2029
这样做的正确方法是什么?
答案 0 :(得分:4)
您可以使用中断行\n
替换<br/>
,然后添加为innerHTML
,如
let str = 'line first \n line-second-preceded-with-a-few-spaces';
str = str.replace(/ /g, '\u00a0');
str = str.split("\n").join("<br/>")
document.getElementById("d").innerHTML = str;
<div id="d"></div>
或者您使用replace(/\n/g, "<br/>");
。这也会做同样的事情
let str = 'line first \n line-second-preceded-with-a-few-spaces';
str = str.replace(/ /g, '\u00a0').replace(/\n/g, "<br/>");
document.getElementById("d").innerHTML = str;
<div id="d"></div>
或者您也可以在\n
标记中包含包含" "
和pre
的字符串,将其视为换行符和空格
let str = 'line first \n line-second-preceded-with-a-few-spaces';
document.getElementById("d").innerHTML = `<pre>${str}</pre>`;
<div id="d"></div>
注意:pre
元素应该用于具有影响内容含义的印刷格式的文本,例如诗歌,ASCII艺术,成绩单,当然还有计算机代码