如何将字符串中的所有换行符替换为<br />元素?

2022-08-29 22:35:38

如何使用JavaScript从值中读取换行符,并用元素替换所有换行符?<br />

例:

从 PHP 传递的变量,如下所示:

  "This is man.

     Man like dog.
     Man like to drink.

     Man is the king."

我希望在JavaScript转换它之后,我的结果看起来像这样:

  "This is man<br /><br />Man like dog.<br />Man like to drink.<br /><br />Man is the king."

答案 1

这会将所有退货转换为 HTML

str = str.replace(/(?:\r\n|\r|\n)/g, '<br>');

如果你想知道?:是什么意思。它称为非捕获组。这意味着括号内的正则表达式组不会保存在内存中以供以后引用。您可以查看这些线程以获取更多信息:
https://stackoverflow.com/a/11530881/5042169 https://stackoverflow.com/a/36524555/5042169


答案 2

如果您关心的只是显示换行符,则可以使用CSS执行此操作。

<div style="white-space: pre-line">Some test
with linebreaks</div>

Jsfiddle: https://jsfiddle.net/5bvtL6do/2/

注意:注意代码的格式和缩进,因为将显示所有换行符(除了文本后面的最后一个换行符,请参阅小提琴)。white-space: pre-line