CURL Quelltext auslesen, Überschriften ermitteln

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment

    Working...
    X