Mit preg_match Teile von HTML-Seite auslesen

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

  • Mit preg_match Teile von HTML-Seite auslesen

    N'abend..


    Ich versuche grade eine HTML-Seite auszulesen doch regex'n war noch nie meine Stärke. Ich habe also den Inhalt der HTML-Seite mit fopen +r vorliegen und möchte aus diesem Inhalt einen vorher genau bestimmten Teil 'haben'.

    Nehmen wir mal an, ein Teil des Inhaltes lautet:
    "XY hat sich am 01.01.1970 um 06:46:29 registriert und seitdem schon 447.746 Minuten hier verbracht."

    Die beiden fett gekennzeichneten Teile (sind bei jeder HTML-Seite anders - also andere Zahlen) möchte ich nun weiterverarbeiten. Sie stehen immer im selben Konstrukt - also dasselbe Wort davor und danch. Doch.., wie komme ich an diese ran? Das es mit einem preg_match machbar ist hat mir die Forumssuche bereits verraten doch wie genau man sowas anstellt leider nicht. Auch das Manual hilft mir da nicht weiter da mit das ganze Regex einfach nicht in den Kopf will - leider.


    Gruss & Danke.
    Zuletzt geändert von medium22; 25.01.2008, 19:20.

  • #2
    PHP-Code:
    function fetch($url,$start,$end){
     
    $page file_get_contents($url);
     
    $s1=explode($start$page);
     
    $s2=explode($end$page);
     
    $page=str_replace($s1[0], ''$page);
     
    $page=str_replace($s2[1], ''$page);
     return 
    $page;
     }

    $a fetch("URL_ZUR_HTML","hat sich am","um");
    $b fetch("URL_ZUR_HTML","und seitdem schon","Minuten");

    echo 
    $a." - ".$b
    Signatur-Text ...

    Kommentar


    • #3
      Hallo,


      Danke für das Beispiel. Der Hacken daran ist nur, dass mir die gesammte Seite angezeigt wird. Jeweils drüber bzw. drunter erscheint zusätzlich $a bzw. $b. Ich möchte aber absolut und nur die beiden fett geschriebenen Details erhalten und nicht alles zusammen.

      Daher auch meine Vermutung mit dem preg_match.


      Gruss

      Kommentar


      • #4
        Hallo,


        mittlerweile bin ich ein klein wenig weitergekommen.
        Folgendermassen schauts nun aus:

        PHP-Code:
          $get file_get_contents("http://www.test.de/""r");
          
        $subject $get
          
        $pattern '/(\d{2}\.\d{2}\.\d{4})/';
          
        $result preg_match($pattern$subject$subpattern); 
           echo 
        " ".$subpattern[1]." "

        Nicht hübsch aber erfüllt den Zweck vorerst.

        Ich meld mich bestimmt wieder wenn dabei das nächste Problem auftritt welches ich nicht alleine lösen kann.


        Danke für die Hilfe.

        Kommentar

        Lädt...
        X