HTML 解析和删除锚标记,同时使用 Jsoup 保留内部 html

2024-04-28

我必须解析一些html并删除锚标记,但我需要保留锚标记的innerHTML

例如,如果我的 html 文本是:

String html = "<div> <p> some text <a href="#"> some link text </a> </p> </div>"

现在我可以解析上面的 html 并在 jsoup 中选择一个标签,如下所示,

Document doc = Jsoup.parse(inputHtml);

//this would give me all elements which have anchor tag
Elements elements = doc.select("a");

我可以通过以下方式删除所有这些

element.remove()

但它会删除从开始括号到结束括号的完整锚标记,并且内部 html 将丢失,如何保留仅删除开始和结束标记的内部 HTML。

另外,请注意:我知道有一些方法可以获取 externalHTML() 和 来自元素的innerHTML(),但这些方法只给我提供了方法 检索文本,remove() 方法删除完整的 html 标签。有什么方法可以只删除外部标签 并保留innerHTML?

预先非常感谢并感谢您的帮助。

--Rajesh


使用 unwrap,它保留内部 html

doc.select("a").unwrap();

检查 api 文档以获取更多信息:
http://jsoup.org/apidocs/org/jsoup/select/Elements.html#unwrap%28%29 http://jsoup.org/apidocs/org/jsoup/select/Elements.html#unwrap%28%29

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML 解析和删除锚标记,同时使用 Jsoup 保留内部 html 的相关文章

随机推荐

  • WKWebView CALayer 到图像导出空白图像

    我试图截取网页的屏幕截图 但图像始终为空白 白色 我正在使用此代码进行转换CALayer to Data 取自这里 https stackoverflow com a 41387514 4859791 extension CALayer G
  • 如何显示图片目录中的图像?

    我想显示图片库中的图片 我获取图片并绑定数据 StorageFolder picturesFolder KnownFolders PicturesLibrary IReadOnlyList
  • _CrtDumpMemoryLeaks( ) == 1 在第一行代码上?

    我正在开发一个 MFC Visual C 项目 据我了解MSDN http msdn microsoft com en us library d41t22sb 28v VS 100 29 aspx CrtDumpMemoryLeaks 应该
  • buildozer android NDK 未下载 Ubuntu

    我使用的是 Ubuntu 16 04 LTS 操作系统 我已经在 python2 和 python3 中安装了 buildozer android sdk 已安装 但 buildozer 在下载 android NDK 时显示错误 请帮我解
  • C# 中的嵌套正则表达式替换

    我不太擅长正则表达式 但我了解基础知识 我试图弄清楚如何根据匹配中的某个值进行条件替换 例如 假设我有一些嵌套的字符串结构 如下所示 id value id and value are space delimited id will nev
  • 当抛出堆栈溢出异常时在 Visual Studio 2010 中查看 CallStack

    我想在抛出 stackoverflow 异常时查看调用堆栈 即我想查明是什么递归调用导致了堆栈溢出 调用堆栈已清除 我只能看到 外部代码 编辑我遵循了 Chris Schmich 的建议 下面发布 现在我有一个如下所示的调用堆栈 这只是我正
  • GitPython 并向 Git 对象发送命令

    GitPython http gitorious org git python是一种从 python 与 git 交互的方式 我正在尝试访问基本的 git 命令 例如git commit m message 从此模块中 根据this htt
  • Symfony 4 和 Doctrine 2 从集合中删除(第一个)项目后序列化导致转换为 JSON 对象而不是数组

    我在序列化已删除第一个元素的集合时遇到很多麻烦 我有 CompaniesCollection 实体 与 Company 实体有 Many2Many 关系 ORM ManyToMany targetEntity App Entity Comp
  • 在 Xcode 4 中锁定文件

    我有一个简单的问题 在 Xcode 3 中 我可以通过单击每个文件顶部的小锁图标来锁定文件 我在 Xcode 4 中缺少这个功能 我想我只是盲目的 你能帮助我吗 该功能在 Xcode 4 中被 部分 终止 即使您可以从 文件 菜单解锁锁定的
  • WPF调整大小完成

    所以我需要按程序生成网格的背景图像 只需要 0 1 秒 因此 我可以连接到 SizeChanged 事件 但是当您调整图表大小时 它会每秒触发该事件 30 次 因此调整大小事件会明显滞后 有谁知道连接到调整大小事件并测试天气是否已完成调整大
  • (简单)boost thread_group 问题

    我正在尝试编写一个相当简单的线程应用程序 但我对 boost 的线程库很陌生 我正在开发的一个简单的测试程序是 include
  • 从 CIImage 获取 UIImage 无法正常工作

    我在从 CIImage 获取 UIImage 时遇到问题 下面的代码行在 iOS6 上运行良好 输出图像是 CIImage self imageView UIImage imageWithCIImage outputImage or sel
  • 命名 Docker 卷以共享构建而不更新

    我工作的公司的开发人员要求我用 Docker 做一些不同的事情 然后我也被使用了 目标是拥有 2 个具有以下职责的容器 容器A 节点容器将构建前端 React 应用程序并将捆绑包放入名为的目录中app dist 完成后 容器将停止运行 容器
  • 在 Python 中通过 TCP 套接字发送文件

    我已经成功地将文件内容 图像 复制到新文件 然而 当我通过 TCP 套接字尝试同样的事情时 我遇到了问题 服务器循环未退出 客户端循环在到达 EOF 时退出 但服务器无法识别 EOF 这是代码 Server import socket Im
  • 验证来自两个不同 URL 的 Keycloak 令牌

    我有一个Docker compose具有后端和前端组件的基于系统 后端写的是Python Flask并在多个 docker 容器中运行 前端编写为TypeScript with Angular 前端通过Restful API与后端进行通信
  • java SWT透明复合背景

    我有复合对象 Composite composite new Composite shell SWT NONE composite setBounds new Rectangle 10 10 100 100 我如何使这个组合具有透明背景 我
  • 无法启动 Android Studio 模拟器

    我正在使用 Android Studio 这是 Android 的新官方 IDE 我永远无法让模拟器运行 出现一个黑色的模拟器屏幕 其中包含闪烁的 android 一词 并且几分钟内没有任何变化 我已经等了30多分钟了 没有任何变化 我必须
  • 在元素的单击事件上添加类

    我是 Angular Js 的新手 我需要在元素的单击事件上添加一个类 我尝试了以下代码 但它不起作用 div p data na p div
  • 在 SQLite.swift 中找不到 SQLite/SQLite-Bridging.h

    我正在使用 SQLite swit https github com stephencelis SQLite swift https github com stephencelis SQLite swift 来开发应用程序 我按照 Pod
  • HTML 解析和删除锚标记,同时使用 Jsoup 保留内部 html

    我必须解析一些html并删除锚标记 但我需要保留锚标记的innerHTML 例如 如果我的 html 文本是 String html div p some text a href some link text a p div 现在我可以解析