Frage

Ich bin mit simple_html_dom einer Website zu analysieren. Gibt es eine Möglichkeit, die Doctype zu extrahieren?

War es hilfreich?

Lösung

Sie können file_get_contents Funktion verwenden, um alle HTML-Daten von der Website zu erhalten. Zum Beispiel

<?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];
?>

Andere Tipps

Sie können $html->find('unknown') verwenden. Dies funktioniert - zumindest - in der Version 1.11 der simplehtmldom Bibliothek. Ich benutze es wie folgt:

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

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

    return NULL;
}

Das ist nur bei einem der anderen ‚unbekannt‘ Elemente zu handhaben, die gefunden werden können; Ich gehe davon aus dem ersten die Doctype sein wird. Sie können ->innertext explizit überprüfen, ob Sie es mit '!DOCTYPE ' beginnt sicherstellen wollen, though.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top