试图在Javascript中将回车转换为<br /> html标签?

Mar*_*ark 12 javascript

我有一个XML提要,我通过javascript拉它并将其转换为更友好的HTML,但我抓住了如何将回车转换为html br标签

我试过这样的事

text = text.replace('\r','<br />'); 
Run Code Online (Sandbox Code Playgroud)

无济于事..

有任何想法吗?

Ash*_*nko 24

如果您使用字符串作为匹配条件,Javascript的替换函数仅替换第一次出现.要替换所有你可以使用正则表达式.

尝试这样的事情

text = text.replace(/(\r\n|\n|\r)/g,"<br />");
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


小智 19

你可以white-space:pre在元素上应用CSS ,就像HTML <textarea>元素在内部做的那样:

<span style="white-space:pre">your  text  \n will \n be \n on multiple \n lines</span>
Run Code Online (Sandbox Code Playgroud)

(注意:一个类比风格更推荐,以上只是一个启动示例)

  • 如果你只想保留线条而不是其他空白区域,那么`white-space:pre-line`就是票. (2认同)

Pau*_*aul 5

可能会有换行符而不是回车符.我会用这个:

text = text.replace(/\r\n?|\n/g, '<br />');
Run Code Online (Sandbox Code Playgroud)

将取代的所有实例\r\n,\r以及\n<br />,但不会取代\r\n有两处断裂,这是期望的行为.