Pregunta

Estoy utilizando simple_html_dom para analizar una página web. ¿Hay una manera de extraer el tipo de documento?

¿Fue útil?

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
scroll top