我有一个包含变量HTML内容的字符串。字符串可以包含一个、多个或没有的p标记,这些标记上也可能有类。
使用删除所有p标记()的最佳方法是使用jQuery,同时保留每个标记的jQuery内容。
我首先尝试了以下方法,但当然,只有当整个字符串包装在一个段落中,并且如果段落中有类或其他属性时,它才会起作用:
str.substring(3).slice(0, -4);编辑
下面是一个例子,但p标记的数量可能会有所不同,也可能根本没有。
前面的示例:
<p>Some text <p class="someClass"> Some other text</p> Some more text</p>示例后:
"Some text Some other text Some more text"发布于 2014-08-26 14:37:25
您可以使用正则表达式来完成此操作。它只移除p标记,并保留所有其他标记。
JavaScript
var string = "<p>this is a test with <p class='bold'>multiple</p> p-tags.</p><span>THIS IS COOL</span>";
var result = string.replace(/<[\/]{0,1}(p)[^><]*>/ig,"");
console.log(result);小提琴
如果要删除所有标记,可以使用/(<([^>]+)>)/ig作为regex。
发布于 2014-08-26 14:24:34
使用拆开:$('p').contents().unwrap()
它与环绕相反,因为它移除选择器的父级。p标记是内容的父元素,在展开包装之前选择内容将打开p标记。jsFiddle
发布于 2014-08-26 14:24:26
尝试以下几点:
var str = "<p>Test</p>";
var res = str.replace("<p>", "").replace("</p>", "");https://stackoverflow.com/questions/25508167
复制相似问题