文本换行符/空格符怎么在HTML中进行转换?

最近遇到的问题:
从数据库中取到的text文本段落,段落里面的换行符无法直接在HTML中显示,如下:

html pre (1).png

而数据库中的段落是正常:

html pre (2).png

解决处理后换行正常显示:

html pre (3).png

 

解决方案:

(1)因为数据库文本text里的段落换行编码是 'r\n\' ,所以这边就可以采用将其全局替换为 '<br/>' 来实现换行。

例如: str = str.replaceAll(/\r\n/g,'<br/>');

说明: str.replace(/需要替换的字符串/g,"新字符串") (据说可行,暂未实践)

(2)通过修改标签的属性来识别文本text里的段落换行编码(CSS中的 white-space属性处理元素文本内的空白)

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

 例如:

.text {
white-space: pre-wrap;
}

说明: 这样就可以在遇到换行或者空格的文本时,就会进行自动解码操作。(推荐使用)

(3)通过标签 pre 完成文本的自动解码进而实现换行。

例如:

<pre> 这里是段落内容 </pre>
1
说明:使用这个标签有个弊端,就是展现的文本下面会多出一条横向的滑动栏。(缺点)

计算机