Extraer tipo de documento con simple_html_dom
-
21-09-2019 - |
Pregunta
Estoy utilizando simple_html_dom
para analizar una página web.
¿Hay una manera de extraer el tipo de documento?
Solución
Puede utilizar la función file_get_contents
para obtener todos los datos HTML de la página web.
Por ejemplo
<?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];
?>
Otros consejos
Puede utilizar $html->find('unknown')
. Esto funciona - al menos - en la versión 1.11 de la biblioteca simplehtmldom. Yo lo uso como sigue:
function get_doctype($doc)
{
$els = $doc->find('unknown');
foreach ($els as $e => $el)
if ($el->parent()->tag == 'root')
return $el;
return NULL;
}
Eso es sólo para manejar cualesquiera otros elementos 'desconocidos' que podrían ser encontradas; Estoy asumiendo que el primero será el tipo de documento. Puede inspeccionar de manera explícita ->innertext
si usted quiere asegurarse de que se inicia con '!DOCTYPE '
, sin embargo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow