如何从 HTML 中去除无关紧要的空白

2024-04-07

我必须比较不同版本的 HTML 页面的格式和文本更改。不幸的是,创建它们的人/公司使用某种 HTML 编辑器,每次都会重新包装所有 HTML(并添加大量空格),这使得很难区分它们。因此,我正在寻找一种工具(最好是 Java 库),它可以重新格式化我的 HTML,从而删除所有无关紧要的空格和换行符。

这意味着,在

<h1>First Headline</h1> <h2>Second headline</h2>

之间的空间</h1> and <h2>应该被删除,但在

<b>formatted</b> <i>text</i>

空格可能不会被删除。我不在乎<pre>, <textarea> or <script>块,也不是关于可以改变行为的 CSS 空白属性 - 我只是在寻找一种去除大部分不必要的空白的解决方案(最好保留太多的空白而不是太少)。

(我已经折叠多个空格并在标签之前重新添加换行符而不是空格,以使文本更具可读性 - 但仍然有太多的情况,例如标题或表格单元格/行之间的新换行符破坏了我的简单“解决方案” .)


JTidy http://jtidy.sourceforge.net/可能在这里有用。它是一个 HTML 解析器,可以解析 HTML(并且可以容忍格式错误的 HTML)并将 HTML 呈现为 DOM,并且您可以覆盖其中的写入以删除您不感兴趣的任何内容。

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

如何从 HTML 中去除无关紧要的空白 的相关文章

随机推荐

  • 有没有可以渲染 numpy 数组数据的 pythonplotly/dash 图像小部件?

    我正在评估 pythonplotly 和 或 dash 作为更新图像的链接图的 bokeh holoviews 的替代品 要求 将数据点链接到图像 我有散点图和热图 其中各个数据点代表从图像派生的值 我想从散点图中的数据点链接回该数据点的数
  • QT 甚至在 waitForConnected 运行时进行处理

    我有一个循环 应该尝试连接到范围内的每个 IP for socket gt connectToHost addres port do stuff if socket gt waitForConnected 2000 do stuff if
  • 将图像添加到 gridpane javafx

    我正在使用数组列表添加目录中的图像列表 添加图像时 我的 ScrollPane 变得拥挤 如何保持图像之间的间距 这是我的代码 File file new File D SERVER Server Content Apps icons Fi
  • Gmail API 在发送电子邮件时覆盖自定义 Message-ID 标头

    我们使用 Gmail API 代表我们应用程序的用户发送电子邮件 在我们通过 Gmail API 发送的电子邮件的标头中 我们设置了自定义消息 ID 尽管如此 Gmail 仍会用不同的邮件 ID 覆盖我们设置的邮件 ID 以下是我们尝试过的
  • 无状态与有状态

    我对包含有关编程中无状态和有状态设计的一些具体信息的文章感兴趣 我很感兴趣 因为我想了解更多有关它的信息 但我真的找不到任何关于它的好文章 我在网上读过几十篇文章 这些文章模糊地讨论了这个主题 或者他们正在谈论 Web 服务器和会话 这也是
  • jquery淡出当前div,找到下一个div并淡入或找到最后一个并淡入

    我有一个名为 stage 的 div 类 它是问卷的一个阶段 div class stage div class next Next div div div class stage div class back Back div div c
  • 如何在目标c中获得该月的第n个星期日日期?

    如何在 Objective C 编码中获取第一个星期日或第 n 个星期日或星期一 任意一天 日期 例如 我只想每年在我的应用程序中显示友谊日的日期 但是 友谊是在八月的第一个星期日 所以 日期每年都会改变 在这里我需要找到每年八月的第一个星
  • 使用 .Net 3.5 程序集 SQL 2005 CLR?

    我有一个 CLR 存储过程 它引用在 VS 2008 中创建的使用 Linq 的程序集 我们将此程序集称为 MyLib 我似乎无法将 MyLib 放入我的 SQL 2005 数据库中 我执行以下操作 CREATE ASSEMBLY MyLi
  • 按创建日期对文件排序 - iOS

    我试图获取 i 目录中的所有文件并根据创建日期或修改日期对它们进行排序 那里有很多例子 但我无法让其中任何一个起作用 有人有一个很好的例子如何从按日期排序的目录中获取文件数组吗 这里有两个步骤 获取文件列表及其创建日期 并对它们进行排序 为
  • 使用 youtube API 获取频道的所有视频

    我想获取具有 ID 的单个频道的所有视频 我只获得频道信息的问题 这是我正在使用的链接 该链接适用于现已停用的 V2 API 因此它不会返回任何数据 相反 您需要使用 API 的 V3 您需要做的第一件事是注册 API 密钥 您可以通过在以
  • 在 OS X El Capitan 上将项目迁移到 Xcode 7.2 会破坏构建

    我之前使用 Xcode 7 1 运行 OS X Mavericks 我刚刚更新到 OS X El Capitan 和 Xcode 7 2 我的应用程序在模拟器和设备上正常启动 没有任何类型的故事板警告 现在 我看到一堆关于故事板中缺少约束的
  • 更改 RMarkdown 代码输出中错误消息的颜色(HTML、PDF)

    有没有办法在 R Markdown 中自动将错误的文本颜色设置为红色 而无需稍后手动编辑 HTML title Example 1 r e1 error TRUE 2 A Example 2 r e2 error TRUE 2 2 在上面的
  • 有没有办法更改 Visual Studio Code 的扩展文件夹位置?

    我已经安装了 Visual Studio CodeOneDrive https en wikipedia org wiki OneDrive 以便将其与我的设备上的设置同步 但是 扩展名存储在 USERPROFILE vscode exte
  • 将复选框数组从 js 发送到 django 视图

    我对如何通过 Ajax 或 Json 执行此操作感到困惑 但是如何将选择数组 curCheck 单击发送到 Django 视图并将其作为 python 数组接收 javascript document getElementById resu
  • 如何专注于 jasmine.js 中的一项规范?

    由于相当大的架构变化 我有一堆失败的规格 我想通过用 焦点 标记每个问题来一一修复它们 jasmine js有这样的功能吗 我发誓我曾经读到过它确实如此 但我在文档中没有看到它 使用 Karma 时 您只能启用一项测试fit or fdes
  • GWT DataGrid 中的延迟加载数据

    是否可以将数据延迟加载到 GWT DataGrid 中 类似于 GWT CellList 延迟加载数据的方式 我有一个 GWT DataGrid 它可能会带回数百行 但一次只显示大约 20 行 发生这种情况时 网格的加载速度相当慢 我想使用
  • 带有语义 UI 可见侧边栏的推送内容太宽

    当使用可见的语义 UI 侧边栏时 推送器中的内容太宽 它具有浏览器窗口的宽度 而不是可用空间的宽度 div class pushable div class ui left vertical inverted visible sidebar
  • $this->价值损失,好吧,它的价值

    我正在使用的 PHP 文件有问题 而且我似乎找不到解决方案 在代码的一部分中 值 this gt value已设置 并且根据我的测试该值设置正确 但是 稍后在相同的代码中 this gt value是空的 这是代码
  • Javascript Intellisense 未显示所有内容

    需要集思广益 我对 Javascript 库 jQuery ExtJS 等 有疑问 这些库似乎与 Visual Studio 2008 中内置的 Javascript Intellisense 不能很好地配合 它们提供了 Intellise
  • 如何从 HTML 中去除无关紧要的空白

    我必须比较不同版本的 HTML 页面的格式和文本更改 不幸的是 创建它们的人 公司使用某种 HTML 编辑器 每次都会重新包装所有 HTML 并添加大量空格 这使得很难区分它们 因此 我正在寻找一种工具 最好是 Java 库 它可以重新格式