0

CまたはC++を使用して、XHTML、HTML html、またはWMLのHTMLページのDoctypeを抽出する必要があります。入力をHTMLファイルまたは配列として提供します。

htmlページにヘッダーが含まれていない場合、結果は、html result = htmlの場合、またはxhtml result = xhtml ...の場合のように、ページに対して含まれている必要があります。

4

1 に答える 1

1

これは2つの異なる質問のようです。

1)htmlページから「doctype」宣言を取得する方法。これについては、次のような単純なものを提案します。

char doctype[1024];

void
get_doctype(char *html_page)
{
  sscanf(html_page, "<!DOCTYPE %1024s>", doctype);
}

次に、既知の文字列と照合してdoctype、列挙値を取得します。

しかし、あなたは2)doctype宣言のないページのタイプを検出する方法も求めています。それは難しいことであり、各ページに複数の正解がある可能性があります。libxmlのようなライブラリにアウトソーシングすることをお勧めします。入力ストリームを特定の種類のドキュメントとして検証する機能があります。

于 2012-05-22T14:06:04.670 に答える