2

Nokogiriで解析したいHTMLがありますが、それが完全なHTMLドキュメント(DOCTYPEなどを含む)なのか、フラグメント(たとえば、いくつかの要素を含むdivだけ)なのかわかりません。

これは、フラグメントの解析には#fragmentを使用する必要があるが、完全なドキュメントの解析には#parseを使用する必要があるため、Nokogiriに違いをもたらします。

特定のテキストがフラグメントであるか完全なHTMLドキュメントであるかを判断する方法はありますか?

デニス

4

2 に答える 2

2

あなたのページがどれだけゴミ箱に入れられているかにもよりますが、

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

ほとんどの場合に動作するはずです。

于 2012-04-26T08:35:28.077 に答える
0

<html>最も簡単な方法は、たとえば正規表現/<html[\s>])/(属性を許可する)を使用して、必須タグを探すことです。

これで問題を解決できますか?

于 2012-04-26T07:32:33.607 に答える