Hallo,
ich habe folgendes Problem. Ich lese mir den gesamten Quelltext aus einer meiner Seite aus, jetzt möchte ich nur im Bereich <body> die Überschriften auslesen. Hintergrund ist, ich möchte automatisch prüfen ob meine Seiten Überschriften habe bzw. noch ein paar weitere Elemente wie <b>, <strong> etc.
Ich hatte auch schon den Ansatz mit DOM, leider habe ich da das JS nicht entfernen können und die HTML Elemente waren auch nicht mehr verfügbar.
Aber zum Problem. Ich lese mit folgendem Code (sehr einfach) mittels CURL den Quelltext aus:
Dann versuche ich nur den
Bereich zu ermitteln, da ich da die Informationen auslesen möchte
Und dann möchte ich die <h1> Überschriften ermitteln
So da ist der Plan, aber es scheitert sehr schnell. Also bereits dieser Bereich ist leer
$inhalt=$tmp2[0];
und ich finde einfach den Fehler nicht. Der Code ist vielleicht nicht perfekt, aber doch recht logisch (dachte ich zumindest)
Also wenn mir vielleicht jemand einen Tipp geben könnte, wäre das toll
ich habe folgendes Problem. Ich lese mir den gesamten Quelltext aus einer meiner Seite aus, jetzt möchte ich nur im Bereich <body> die Überschriften auslesen. Hintergrund ist, ich möchte automatisch prüfen ob meine Seiten Überschriften habe bzw. noch ein paar weitere Elemente wie <b>, <strong> etc.
Ich hatte auch schon den Ansatz mit DOM, leider habe ich da das JS nicht entfernen können und die HTML Elemente waren auch nicht mehr verfügbar.
Aber zum Problem. Ich lese mit folgendem Code (sehr einfach) mittels CURL den Quelltext aus:
PHP-Code:
function readInfos($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$tmpinfo = file_get_contents_curl("http://www.url.de");
HTML-Code:
<body>
PHP-Code:
$in1=split("<body>",$text);
$in2=split("</body>",$in[1]);
$inhalt=$tmp2[0];
Und dann möchte ich die <h1> Überschriften ermitteln
PHP-Code:
$tmpInhalt = preg_match_all('%<h1>(.*)</h1>%Uis', $ inhalt,$found);
foreach ($found[1] as $row){
echo $row."\n";
}
$inhalt=$tmp2[0];
und ich finde einfach den Fehler nicht. Der Code ist vielleicht nicht perfekt, aber doch recht logisch (dachte ich zumindest)
Also wenn mir vielleicht jemand einen Tipp geben könnte, wäre das toll
Kommentar