CURL Quelltext auslesen, Überschriften ermitteln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CURL Quelltext auslesen, Überschriften ermitteln

    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:

    PHP-Code:
    function readInfos($url) {
        
    $ch curl_init();
     
        
    curl_setopt($chCURLOPT_HEADER0);
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_URL$url);
        
    $data curl_exec($ch);
        
    curl_close($ch);
        return 
    $data;
    }

    $tmpinfo file_get_contents_curl("http://www.url.de"); 
    Dann versuche ich nur den
    HTML-Code:
    <body>
    Bereich zu ermitteln, da ich da die Informationen auslesen möchte

    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";

    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

  • #2
    Ich hatte auch schon den Ansatz mit DOM, leider habe ich da das JS nicht entfernen können
    Was für ein JavaScript? Sollte mit PHP eigentlich nichts zu tun haben.
    Also wenn mir vielleicht jemand einen Tipp geben könnte, wäre das toll
    Wie ware es damit? Vorausgesetzt dein Code ist valide.

    Ansonsten könnte so was helfen:
    PHP-Code:
    preg_match ('/<h1[^>]*>.*?<\/h1>/si'$text$head);
    print_r($head); 
    Blind gehackt und ungetestet.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar

    Lädt...
    X