Fehler bei foreach vom Inhalt einer Webseite

Halo,
ich lese den Inhalt einer Webseite ein. Das funktioniert.
Jetzt will ich den Inhalt $content zeilenweise durchlaufen. Und das funktioniert nicht.

Fehler:
<b>Warning</b>: Invalid argument supplied for foreach() in <b>C:\IP-Symcon\scripts\59043.ips.php</b> on line <b>38</b><br />
Zeile 38 ist die foreach-Zeile

Hat jemand eine Idee, was ich ändern muss?

Viele Grüße
Alexander


$content = Sys_GetURLContent("http://192........");
//$content = file_get_contents("http://192........");

$i = 0;
foreach($content as $row)
{
    $i = $i + 1;
    echo $i."       ".$row;
		
}

Das kann nicht funktionieren, da Du ja den Inhalt der Seite abholst und das ist zunächst mal ein String, den kannst Du auch nicht mit foreach durchsuchen, das geht nur mit einem Array.

Das kommt darauf an was Du genau suchst bzw. was gemacht werden soll.

Am besten ist es Du schreibst den Inhalt der Seite in ein DomDocument, dann kannst Du das Document gezielt duchsuchen.

Letzlich hängt das aber auch davon ab wie der Inhalt der Seite eigentlich aussieht.

Beispiel:


$payload =  file_get_contents("http://192........");
// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->loadHTML($payload);

Über getElementById oder getElementsByTagName kannst Du dann das Auslesen was Du brauchst

Beispiel


$pos0 = $doc->getElementById( 'pos0' ); 

Ohne jetzt den genauen Inhalt bzw. Struktur der Seite zu kennen, wird man Dir aber nicht sagen können wie Du welchen Inhalt der Seite auslesen kannst.

Versuch es mal so:


//$content = Sys_GetURLContent("http://192........");
//$content = file_get_contents("http://192........");
$content = file("http://192.......");
if ($content === false) {
   die('Fehler beim laden der Webseite');
}
foreach($content as $i => $row)
{
    echo $i."       ".$row.PHP_EOL;	
}

Michael

@Fonzo
Vielen Dank. Ich will aus den Zeilen Werte auslesen ohne eine bestimmte Zeile zu suchen. Dafür ist die einfache Lösung von Michael bestens.

@Michael
Deine Lösung funktioniert wie von mir gewollt. Die Erweiterung .PHP_EOL lass ich weg, da dies immer eine Leerzeile erzeugt. Vielen Dank.

Grüße
Alexander

Willst du die Seite nur 1:1 durchreichen?
Dann geht das einfacher mit PHP: readfile - Manual
Michael