使用simple_html_dom提取doctype

时间:2009-10-14 12:49:20

标签: php doctype simple-html-dom

我正在使用simple_html_dom来解析网站。 有没有办法提取doctype?

2 个答案:

答案 0 :(得分:3)

您可以使用file_get_contents功能从网站获取所有HTML数据。 例如

<?php
   $html = file_get_contents("http://google.com");
   $html = str_replace("\n","",$html);
   $get_doctype = preg_match_all("/(<!DOCTYPE.+\">)<html/i",$html,$matches);
   $doctype = $matches[1][0];
?>

答案 1 :(得分:1)

您可以使用$html->find('unknown')。这至少在simplehtmldom库的1.11版本中有效。我用它如下:

function get_doctype($doc)
{
    $els = $doc->find('unknown');

    foreach ($els as $e => $el) 
        if ($el->parent()->tag == 'root') 
            return $el;

    return NULL;
}

这只是为了处理可能找到的任何其他'未知'元素;我假设第一个将是doctype。如果您想确保以->innertext开头,可以明确检查'!DOCTYPE '