问题来啦:
从数据库中取到的text文本段落,段落里面的换行符无法直接在HTML中显示,如下:
而数据库中的段落是正常:
解决处理后正常换行:
解决方案:
(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>
说明:使用这个标签有个弊端,就是展现的文本下面会多出一条横向的滑动栏。(不推荐使用)
—项目中的点滴