让Nokogiri决定是使用 #fragment 还是 #parse



我有一段HTML我想用Nokogiri解析,但我不知道它是一个完整的HTML文档(带有DOCTYPE等)还是一个片段(例如,只是一个包含一些元素的div)。

这对 Nokogiri 来说有所不同,因为它应该使用 #fragment 来解析片段,#parse 来解析完整的文档。

有没有办法确定给定的文本是片段还是完整的HTML文档?

丹尼斯

取决于您的页面的垃圾程度,但是

/^(?:s*<!DOCTYPE)|(?:s*<html)/

在大多数情况下应该有效。

最简单的方法是查找必需的<html>标签,例如使用正则表达式/<html[s>])/(允许属性)。

这足以解决您的问题吗?

相关内容

  • 没有找到相关文章

最新更新