将文本区域文本转换为 Html,每个新行都有新的 <p> 标签

Convert Text areas text to Html with new <p> tag for each new line

我有以下 html 标记,其中有一个文本区域,如下所示。

<textarea id="text" rows="10">First sentence. Second sentence? Third sentence!Fourth sentence.

Fifth sentence. Six sentence.

Last sentence.
</textarea>

我想把它转换成下面的 html。

<p>First sentence. Second sentence? Third sentence!Fourth sentence.</P>
<p>Fifth sentence. Six sentence.</p>
<p>Last sentence.</p>

新的 <p> 标签是为每个换行符创建的。

我已经能够使用以下代码将段落作为数组获取。

var str = document.getElementById("text").value;
var sentences = str.split(/\r\n|\r|\n|[.|!|?]\s/gi);

但是我只能循环遍历它,让每个句子都有一个 <p> 标签。最好的方法是什么?

将您的拆分修改为 var sentences = str.split(/\r\n|\r|\n/gi); 然后当你循环数组时忽略空字符串并将非空字符串包装在 <p> 标记中。