如何使用regex将段落元素替换为新行

How can I replace paragraph elements with new lines using regex?

本文关键字:替换 新行 元素 段落 何使用 regex      更新时间:2023-09-26

我目前正在使用一个正则表达式将文本区域值的新行转换为<p>标记,然后将这个新格式化的文本块插入到页面上,它可以正常工作。不过,文本块可以重新编辑,即将文本块放回文本区域进行编辑。是否有一个正则表达式可以用来再次用新行替换<p>标记,以便在编辑文本区域内的文本时保留间距?

(这将与JavaScript/jQuery一起使用)。

我建议您利用jQuery的查询来获取每个<p>的内容,然后将它们与'n:连接起来

function getTexts(selector) {
  var textContents = $(selector).map(function(i, item) {
    return $(item).text();
  });
  return textContents.join("'n'n");
}
$("#theTextarea").val(getTexts("#someContainer > p"));

您可以迭代每个p元素,提取文本并用每个p的文本+换行符构建一个字符串,而不是使用regex。

var html = $('<div>' + text + '</div>');
var plain = '';
$(html.find('p')).each(function() {
    plain += ''n' + $(this).text();
});