在我们访问的每个网页上,我们都会遇到大量的多媒体内容,所有这些内容都是用超文本标记语言(Hyper Text Markup Language, HTML)放在一起展示的。HTML是许多开发人员都熟悉的一种基本编程语言,它由各种元素组成——当被浏览器解释时——通常由各种自定义元素组成连贯、有组织和有意的显示。这段代码提供了一个框架,用于我们如何查看图像、视频、正文、超链接、数据输入字段以及在网页上你能想到的任何其他内容-任何人都可以通过在任何浏览器上单击右键来查看所有这些代码。
考虑到任何复杂的HTML字符串中都存在大量的格式化元素,代码的实际主题(隐藏在这些字符串中的文本内容和文件路径)可能有点难以独立于这些格式化规范访问。例如,如果我们想查看网页副本,然后以有意义的方式编辑或操作该文本,我们将很难直接从显示的网页复制和粘贴该信息。我们最终只会得到一堆格式不一致的文本,充斥着超链接、徽标、脱节的制表符和空格等。这并不是说这是不可能的。当然,我们可以从任何网页中复制小的文本片段,并在Microsoft Word等富文本编辑器中重新设置这些文本片段的格式,使其类似于原始格式。问题是这种“点击和点击”的方法消耗了我们工作中的宝贵时间,如果我们需要扩展我们的操作来包含多个网站和数千字符的文本,尝试手动操作从长远来看将对我们自己造成很大的伤害。
与其浪费宝贵的时间和精力试图通过灵巧的点击和拖动来获取我们想要的文本,还不如使用专门用于这样做的API服务完全从HTML代码中删除它。我们可以通过一些方法来实现这种分离,这些方法虽然表面上看起来相同,但可以适应稍微不同的用例。这些方法包括:
- 将HTML文件转换为纯文本
- 将HTML字符串转换为纯文本
- 从文本字符串中删除HTML
第一种方法和第二种方法本质上是相同的操作,只不过有两种不同的场景:在前者中,HTML代码以文件形式提供给我们(当我们点击它时,它会直接作为浏览器页面打开);在后者中,我们可以以文本字符串的形式提供给我们(例如,我们通过在web浏览器中右键单击复制的HTML)。第三种方法在技术上与前两种方法实现了相同的目标,它设想了一个更安全的用例,帮助我们在给定的文本字符串中识别HTML和跨站脚本攻击(一种恶意参与者将可执行脚本放入可信应用程序/网站代码的网络威胁形式),而无需假设我们有一个完整的HTML字符串来处理。
在本文的其余部分,我将演示三种简单的API解决方案,它们可用于将HTML代码与纯文本内容分离,适用于上面列出的三种略有不同的场景。这些API都是免费使用的,可以通过Cloudmer