Enrico: "substr" funktioniert nicht wie beabsichtigt

Hallo,

ich versuche gerade, den html-Code dieser Seite über php einzulesen, um nachfolgend mit dem eingelesenen String weiterarbeiten zu können.

Hintergrund:

Ich möchte lediglich die Informationen herausziehen, also die "nackten" Tabellenkonstrukte ohne jegliche weitergehenden Angaben, um die Tabellen - an das Layout unserer Homepage angepasst - auszugeben.

Hier der Code, den ich aktuell habe:

~~~php

$URL    = "http://www.gameshot.de/liga/8_tabelle_30_0_0_205.htm";
     $Inhalt = implode ('', file ($URL));

$Start = stripos  ($Inhalt, "<!-- Beginn der Liste -->") + 26;
     $Ende  = strripos ($Inhalt, "<!-- Ende der Liste -->");

$Inhalt = substr ($Inhalt, $Start, $Ende);

echo $Inhalt;

  
Das Einlesen ab dem ersten Vorkommen des Strings "<!-- Beginn der Liste -->" funktioniert, ab dem letzten Vorkommen des Strings "<!-- Ende der Liste -->" wird die Variable $Inhalt nicht abgeschnitten, d.h. ich habe hier immer den gesamten Rest des html-Codes bis hin zu den Tags "</body>" und "</html>".  
  
Interessant ist aber nur der Teil zwischen dem ersten Vorkommen des Strings "<!-- Beginn der Liste -->" und dem letzten Vorkommen des Strings "<!-- Ende der Liste -->".  
  
Muss ich hier irgendwelche Sonderheiten beachten?  
Was habe ich falsch (?) gemacht?  
  
Vielen Dank für eure Hilfe.  
  
Gruß  
Enrico
  1. Hallo Enrico,

    Muss ich hier irgendwelche Sonderheiten beachten?
    Was habe ich falsch (?) gemacht?

    Der dritte Parameter von substr ist die _Länge_ des zu extrahierenden Teilstrings, nicht die Endposition..

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Hallo David,

      Herrschaftszeiten, das war wahrlich ein blöder Denk-/Verständnis(?)fehler...

      Danke Dir, jetzt klappt es :-)

      Gruß
      Enrico

  2. Moin!

    ~~~php

    $URL    = "http://www.gameshot.de/liga/8_tabelle_30_0_0_205.htm";
         $Inhalt = implode ('', file ($URL));

      
    file\_get\_contents() existiert und funktioniert. Spart dir das Erzeugen eines Arrays mit file() und das nachfolgende Zusammenfügen der Einzelteile zu einem String.  
      
     - Sven Rautenberg