You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Jsoup仅保留干净的<p>标签并删除其余内容?

解决方案:精准保留干净的

标签

这问题我之前也碰到过,核心就是要筛选出既没有额外class属性,内部也不包含元素的

标签,把不符合条件的移除就行。下面给你两种常用的实现方式:

原生JavaScript方案

这种方式不需要依赖任何库,直接操作DOM即可:

// 获取页面中所有的<p>元素
const allParagraphs = document.querySelectorAll('p');

// 遍历每个<p>进行检查
allParagraphs.forEach(paragraph => {
  // 判断条件:有class属性 或者 内部包含<strong>元素
  const hasClass = paragraph.classList.length > 0;
  const hasStrong = paragraph.querySelector('strong') !== null;
  
  if (hasClass || hasStrong) {
    paragraph.remove(); // 移除不符合要求的<p>
  }
});

这段代码会逐个检查每个

:只要它带有class(不管是example还是其他),或者里面嵌套了,就直接从DOM中移除,剩下的就是你要的干净

标签。

jQuery方案(如果你的项目已经引入了jQuery)

如果习惯用jQuery,代码会更简洁:

// 一次性移除所有带class的<p>,以及包含<strong>的<p>
$('p[class], p:has(strong)').remove();

这里用了jQuery的属性选择器[class]匹配带class的

,:has(strong)匹配内部包含的

,然后批量移除。

如果你的“干净

”还要求内部只有纯文本(没有任何其他子元素),可以在条件里再加一层判断,比如原生JS里检查paragraph.children.length === 0,确保

里没有任何子节点,只有文本内容。

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:28:15