我有一段 HTML,我想用 Nokogiri 解析,但我不知道它是完整的 HTML 文档(带有 DOCTYPE 等)还是片段(例如,只是一个包含一些元素的 div) .
这对于 Nokogiri 来说是不同的,因为它应该使用 #fragment 来解析片段,而使用 #parse 来解析完整文档。
有没有办法确定给定的一段文本是片段还是完整的 HTML 文档?
丹尼斯
最佳答案
取决于您的页面的垃圾程度,但是
/^(?:\s*<!DOCTYPE)|(?:\s*<html)/
在大多数情况下应该有效。
关于ruby - 让 Nokogiri 决定是否使用 #fragment 还是 #parse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10328771/