-

如何让文本中的 \n 在HTML中换行?

WEB前端

在实际前端开发中,在textarea中用户输入大段文本时,可能会有换行。这时获取到的字符串是\n。在展示的时候如何还原用户输入时的样式呢?可能有的人会说用正则表达式来把\n替换成 HTML 换行标签<br>。有没有更简单的办法呢?答案就是使用CSS的white-space属性。今天雷雪松给大家讲解一下如何让文本中的\n在HTML中换行。

1、JS正则表达式匹配 \n 替换成<br>。
[cc lang=”javascript” escaped=”true”]let str = htmlStr.replace(/(\r\n)|(\n)/g,'<br>’)[/cc]

2、使用CSS的white-space 属性保留空白符序列,但是正常地进行换行。
[cc lang=”css”]white-space: pre-line;[/cc]

white-space 属性可能的值:
normal:默认。空白会被浏览器忽略。
pre:空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
nowrap:文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
pre-wrap:保留空白符序列,但是正常地进行换行。
pre-line:合并空白符序列,但是保留换行符。
inherit:规定应该从父元素继承 white-space 属性的值。

来源:如何让文本中的 \n 在HTML中换行?

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注