jQuery / Regex:删除所有p标签

时间:2013-11-06 20:17:46

标签: javascript jquery html regex strip

我是Regex的新手,希望有人可以帮助我:

我有一个保存为变量的长字符串。 该字符串包含纯文本和HTML标记,包括。 p标签。

如何使用Regex从我的字符串中删除所有p标记,包括p标记上的类和ID,但不会丢失文本内部? 字符串变量可以包含一个,多个或没有p标记,但始终至少包含一些文本。

示例: 它现在看起来如何:

var str = Some awesome text with a <p class='myClass'>new paragraph</p> and more text.

应该如何看待:

var str = Some awesome text with a new paragraph and more text.

感谢您对此提供任何帮助,Tim。

2 个答案:

答案 0 :(得分:8)

result = str.replace(/(<p[^>]+?>|<p>|<\/p>)/img, "");

更新了正则表达式

答案 1 :(得分:6)

基于this answer,这在jQuery中很容易做到。

var str = "Some awesome text with a <p class='myClass'>new paragraph</p> and more text.";

var $temp = $("<div>").html(str);
$temp.find("p").each(function() { $(this).replaceWith(this.childNodes); });

var output = $temp.html();