Extrakt doctype mit simple_html_dom
-
21-09-2019 - |
Frage
Ich bin mit simple_html_dom
einer Website zu analysieren.
Gibt es eine Möglichkeit, die Doctype zu extrahieren?
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