Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Nokogiriで解析したいHTMLがありますが、それが完全なHTMLドキュメント(DOCTYPEなどを含む)なのか、フラグメント(たとえば、いくつかの要素を含むdivだけ)なのかわかりません。
これは、フラグメントの解析には#fragmentを使用する必要があるが、完全なドキュメントの解析には#parseを使用する必要があるため、Nokogiriに違いをもたらします。
特定のテキストがフラグメントであるか完全なHTMLドキュメントであるかを判断する方法はありますか?
デニス
あなたのページがどれだけゴミ箱に入れられているかにもよりますが、
/^(?:\s*<!DOCTYPE)|(?:\s*<html)/
ほとんどの場合に動作するはずです。
<html>最も簡単な方法は、たとえば正規表現/<html[\s>])/(属性を許可する)を使用して、必須タグを探すことです。
<html>
/<html[\s>])/
これで問題を解決できますか?