Quellcode von externen Webseiten auslesen

julia29

Erfahrenes Mitglied
Hallo,

ich habe eine Suche für Textbereiche von externen Webseiten zusammengestellt.
Mein Problem ist, dass die Suche bereits beim nächsten HTML-Tag nach dem gefunden Textstring wieder zu Ende ist.
Im Beispiel habe ich die Web-Site von Hannover 96 (http://www.hannover96.de/CDA/profis/saison/bundesliga/naechstes-spiel.html), an der Stelle wo die neuen Spiele angekündigt werden.

Mein Ziel ist es den ganzen Block einschl. Situationsbericht auszulesen. Leider ist nach der Überschrift bereits Schluß.
Mein Suchstring beginnt im Quelltext dieser HTML-Seite in Zeile 315.

php-code
PHP:
<?php
// URL, die durchsucht werden soll
$url = "http://www.hannover96.de/CDA/profis/saison/bundesliga/naechstes-spiel.html";

// Zeichenfolge bis vor dem Suchstart
$startstring = '<h4 class="abstand_20px_oben">';

// Zeichenfolge nach dem relevanten Eintrag
$endstring = "<!-- con"; 

$file = @fopen ($url,"r");

if (trim($file) == "") {
	echo "willkommen";
	} else {
	$i=0;
	while (!feof($file)) {


		$zeile[$i] = fgets($file,2000);
		$i++;
	}
	fclose($file);
}

// Daten filtern

for ($j=0;$j<$i;$j++) {
	if ($resa = strstr($zeile[$j],$startstring)) {
		$resb = str_replace($startstring, "", $resa);
		$endstueck = strstr($resb, $endstring);
		$resultat .= str_replace($endstueck,"",$resb);
		$resultat .= "Ende ";
	}
}

// Bildschirmausgabe

$resultat = "<b><u>hier das Ergebnis: </u></b><br><br>".$resultat."";
echo $resultat;

?>



Nach Durchlauf des Scriptes erscheint bei immer nur:
hier das Ergebnis:
HTML:
Nächster Gegner: TSG 1899 Hoffenheim 
Ende

Wie muss ich das einstellen, das ich alles übernehmen kann?
mfg
Julia
 
So, sorry, aber du hattest etwas Müll produziert, wenn du verstehen willst was du falsch gemacht hast, musst du dir deinen Quelltext nochmal anschauen und die Variablennamen genau überprüfen und die rückgabe Werte der PHP-Funktionen genauer anschauen (z.B. strstr liefert einen integer bzw. booleanischen Wert, da kann man mit str_replace nicht viel anstellen) ;)

Hier, so funktioniert es denke ich:
PHP:
// URL, die durchsucht werden soll
$url = "http://www.hannover96.de/CDA/profis/saison/bundesliga/naechstes-spiel.html";

// Zeichenfolge bis vor dem Suchstart
$startstring = '<h4 class="abstand_20px_oben">';

// Zeichenfolge nach dem relevanten Eintrag
$endstring = "<!-- con"; 

$file = @fopen ($url,"r");

if (trim($file) == "") {
    echo "willkommen<br />\n";
    } else {
    $i=0;
    while (!feof($file)) {


        $zeile[$i] = fgets($file,2000);
        $i++;
    }
    fclose($file);
}

// Daten filtern
$resultat = "";

$start = false;

for ($j=0;$j<$i;$j++) 
{
    #echo "\nZeile: ".$j." (".trim(rtrim($zeile[$j])).")";
    if ($resa = strstr($zeile[$j], $startstring)) 
    {
        #echo "ANFANG - ";
        $start = true;
    }
    if ($start)
    {
        $resultat .= str_replace($startstring, "", $zeile[$j], str_replace($endstring, "", $zeile[$j]));
        if ($endstueck = strstr($zeile[$j], $endstring))
        {
            #echo "Ende!";
            $start = false;
        }
    }
}

// Bildschirmausgabe

$resultat = "<b><u>hier das Ergebnis: </u></b><br><br>\n\n".$resultat."";
echo $resultat;
 
Zuletzt bearbeitet:
Zurück