javascript – 将新行转换为段落/ br HTML标记,这可以是单个正则表达式吗?

前端之家收集整理的这篇文章主要介绍了javascript – 将新行转换为段落/ br HTML标记,这可以是单个正则表达式吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在处理的应用程序让用户以明文形式输入内容,稍后将以 HTML格式显示.为了尽可能好地显示用户内容,我们将内容转换如下:

>由两个或多个新行字符分隔的任何文本块都包含在< p>中.标签.剥离出新的行字符(以及其间的任何空格).
>任何单个新行字符(以及周围的空格)都被< br />替换.标签.

我目前通过将文本放在两个正则表达式替换中来实现这一点,但是想知道它是否可以合并为一个.这就是我现在所拥有的(JavaScript):

// content holds the text to process
content = '<p>' + content.replace(/\n([ \t]*\n)+/g,'</p><p>')
                 .replace(/\n/g,'<br />') + '</p>';

解决方法

有两种不同的替换字符串.因此,单个替换呼叫是不可能的.

但第二个replace()可以更改为更有效的纯字符串替换.

content = '<p>' + content.replace(/\n([ \t]*\n)+/g,'</p><p>')
                 .replace('\n','<br />') + '</p>';

所以,有单一的正则表达式.

猜你在找的JavaScript相关文章