Extrair doctype com simples_html_dom
-
21-09-2019 - |
Pergunta
estou usando simple_html_dom
Para analisar um site. Existe uma maneira de extrair o doctype?
Solução
Você pode usar file_get_contents
Função para obter todos os dados HTML do site. Por exemplo
<?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];
?>
Outras dicas
Você pode usar $html->find('unknown')
. Isso funciona - pelo menos - na versão 1.11 da biblioteca simpleshtmldom. Eu o uso da seguinte maneira:
function get_doctype($doc)
{
$els = $doc->find('unknown');
foreach ($els as $e => $el)
if ($el->parent()->tag == 'root')
return $el;
return NULL;
}
Isso é apenas para lidar com outros elementos 'desconhecidos' que possam ser encontrados; Estou assumindo que o primeiro será o doctype. Você pode inspecionar explicitamente ->innertext
Se você quiser garantir que ele comece com '!DOCTYPE '
, no entanto.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow