从java中的String中删除除少数特定标签之外的Html标签

2023-12-26

我的输入是纯文本字符串,要求是删除除少数特定标签之外的所有 html 标签,例如:

<p>
<li>
<u>
<li>

如果这些特定标签具有类似属性class or id,我想删除这些属性。

几个例子:

<a href = "#">Link</a>            ->   Link

<p>paragraph</p>                  ->   <p>paragraph</p>

<p class="class1">paragraph</p>   ->   <p>paragraph</p>

我经历过这个从字符串中删除 HTML 标签 https://stackoverflow.com/questions/240546/removing-html-from-a-java-string但它并没有完全回答我的问题。

它可以由一组正则表达式处理还是我可以使用一些库?


我尝试了 JSoup,它似乎能够处理所有此类情况。这是示例代码。

 public String clean(String unsafe){
        Whitelist whitelist = Whitelist.none();
        whitelist.addTags(new String[]{"p","br","ul"});

        String safe = Jsoup.clean(unsafe, whitelist);
        return StringEscapeUtils.unescapeXml(safe);
 }

对于输入字符串

String unsafe = "<p class='p1'>paragraph</p>< this is not html > <a link='#'>Link</a> <![CDATA[<sender>John Smith</sender>]]>";

我得到以下输出,这几乎是我所需要的。

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

从java中的String中删除除少数特定标签之外的Html标签 的相关文章

随机推荐

  • Vb.net Visual Studio 使用更新命令时出现问题

    您好 我正在从 sql 数据库创建一个搜索功能和更新按钮 我需要能够在其中搜索某些名称等 但还需要能够在数据集中进行更改并保存它们 到目前为止 搜索功能按照我想要的方式工作 但是 更新按钮并没有真正保存更改 因为当我停止并重新启动代码时 即
  • 如何使用 Entity Framework Core 进行全文搜索?

    我有以下查询 SELECT Animals name FROM Animals WHERE CONTAINS feline AND black 我在将其转换为 Entity Framework Core 查询时遇到问题 我有一个 SQL S
  • 如果作业不存在,如何从管道构建 Jenkins 作业而忽略该作业?

    我正在尝试从我的 Jenkins 管道中构建一个工作 如下所示 build job jobName propagate false wait false 这里 jobName 是一个多分支管道作业 因此有时可能不存在于我的工作流程中 如果作
  • 使用用户代理定位特定的黑莓手机

    我发现这个 javascript 可以检测黑莓设备
  • 如何用PyQt5设置窗口图标?

    from PyQt5 import QtWidgets QtGui from PyQt5 QtWidgets import from PyQt5 QtCore import class Application QMainWindow def
  • Magento 快速搜索

    我在使用 Magento 快速搜索时遇到一个小问题 当我在框中搜索时说 ice machine 然后一切都会返回原处ice or machine在标题中 我需要它 所以它只会搜索具有确切字符串的产品ice machine在标题中 我发现如果
  • 如何打印带有棋子位置列表的棋盘

    我正忙着做作业 我必须编写一个有 2 个 String 的函数 列表字符串包含 3 个字符 第一个是棋子 例如 K 国王 Q 后 R 车 B 主教 N 马 P 兵 第二个指定列 a h 第三个是行号 1 8 第一个字符串列表用于黑色棋子 第
  • 使用 Applescript/Automator 检查活动的互联网连接

    我有一个 Automator 工作流程来 ping 服务器 并下载我经常使用的时间表的最新副本 然后 该时间表会被复制到我的保管箱中 以便我可以在手机上查看 在工作流下载最新计划之前 它会从 Dropbox 中删除旧计划 这很有效 除非我没
  • 如何为 ui-bootstrap 日期选择器创建 angularJs 包装器指令?

    我正在使用ui bootstrap datepicker https angular ui github io bootstrap 显示某些日期字段的指令 然而 大多数时候我需要相同的设置 我希望它带有一个弹出窗口和一个弹出按钮 而且我还想
  • CLI 与 Node.js

    我正在节点中开发一个 CLI 它将发布到 NPM 由于它是一个 CLI 应用程序 我希望它在安装后包含在路径中 因此不需要键入 node my app js 来运行它 我希望它仅与 my app 一起运行 在 package json 中
  • Outlook 中的 HTML 电子邮件呈现 - VML

    我创建了一封 HTML 电子邮件 在 Outlook 2007 中查看时 我看不到某些图像 因为它们是背景 我已经使用 VML 做了一些修改 但是它不允许我将高度值留空 因为它默认为 100px 或者我无法输入自动或百分比 背景图像需要能够
  • 为什么delete会保留Array元素?

    今天我在 Stack Overflow 上偶然发现了一个问题 如何从 JavaScript 关联数组中删除对象 https stackoverflow com questions 346021 令我震惊的是 所接受的答案既具有误导性 又受到
  • 有人成功使用 Azure AD 对 Node.js Web 应用程序的用户进行身份验证吗?

    我正在尝试使用 Azure Active Directory 对我的 node js Web 应用程序的用户进行身份验证 但到目前为止还没有成功 我想知道是否有人真正实现了它 因为文档很差 通常有示例代码 但实际上没有任何指示所需参数是什么
  • tmux:如何打开光标下的文件

    我是 vim 用户并且习惯了gf命令 打开光标下的文件 现在我想问一下 tmux 是否有类似的东西 我可以在 tmux 窗格中导航 并且经常会出现光标下有一个文件路径的情况 现在我希望能够使用 vim 打开光标下的该文件 A 在当前窗口中
  • 堆栈跟踪或有关 Xcode/iPhone 中未处理异常的更多信息

    请原谅我的无知 但在 iPhone 模拟器中运行 iPhone 应用程序时 关于 Xcode 调试器的一些问题一直困扰着我 有时 当我在 Interface Builder 中搞砸一些东西时 我会在运行时遇到未处理的异常 然后被扔回 Xco
  • 无法使用react js将文件上传到djangorest框架

    我正在使用 React Js 将图像上传到 django Restframework 在这里我使用 fetch API 发送 post 请求 Eapp jsx import React Component from react class
  • 过滤至少有两个模式匹配的地方

    我的 data table 中有很多文本数据 我有几个我感兴趣的文本模式 我想对表格进行子集化 以便它显示匹配的文本至少两个的模式 由于某些模式已经是非此即彼的事实 这使得情况变得更加复杂 例如 paul john 我想我要么想要一个表示在
  • 如何将当前行的值除以下一行的值?

    在 Spark Sql 1 6 版本中 使用DataFrames 有没有一种方法可以计算特定列的每一行当前行与下一行相除的分数 例如 如果我有一个只有一列的表 如下所示 Age 100 50 20 4 我想要以下输出 Franction 2
  • 如何显示下一张/上一张卡片的RecyclerView的一部分

    实现此功能的最佳策略是什么 我有一个带有卡片的水平 RecyclerView 每张卡片都会填满整个屏幕 但我希望它显示下一张卡片和上一张卡片 如果它有多个项目 的一部分 我知道我可以通过设置我的卡来实现这一点android layout w
  • 从java中的String中删除除少数特定标签之外的Html标签

    我的输入是纯文本字符串 要求是删除除少数特定标签之外的所有 html 标签 例如 p li u u li li 如果这些特定标签具有类似属性class or id 我想删除这些属性 几个例子 a href Link a gt Link li