首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从jQuery中的字符串中删除可变数量的p标记

如何从jQuery中的字符串中删除可变数量的p标记
EN

Stack Overflow用户
提问于 2014-08-26 14:20:09
回答 5查看 3.9K关注 0票数 3

我有一个包含变量HTML内容的字符串。字符串可以包含一个、多个或没有的p标记,这些标记上也可能有类。

使用删除所有p标记()的最佳方法是使用jQuery,同时保留每个标记的jQuery内容。

我首先尝试了以下方法,但当然,只有当整个字符串包装在一个段落中,并且如果段落中有类或其他属性时,它才会起作用:

代码语言:javascript
复制
str.substring(3).slice(0, -4);

编辑

下面是一个例子,但p标记的数量可能会有所不同,也可能根本没有。

前面的示例:

代码语言:javascript
复制
<p>Some text <p class="someClass"> Some other text</p> Some more text</p>

示例后:

代码语言:javascript
复制
"Some text Some other text Some more text"
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-08-26 14:37:25

您可以使用正则表达式来完成此操作。它只移除p标记,并保留所有其他标记。

JavaScript

代码语言: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。

票数 2
EN

Stack Overflow用户

发布于 2014-08-26 14:24:34

使用拆开$('p').contents().unwrap()

它与环绕相反,因为它移除选择器的父级。p标记是内容的父元素,在展开包装之前选择内容将打开p标记。jsFiddle

票数 4
EN

Stack Overflow用户

发布于 2014-08-26 14:24:26

尝试以下几点:

代码语言:javascript
复制
var str = "<p>Test</p>";
var res = str.replace("<p>", "").replace("</p>", "");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25508167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档