Hallo Jan,
test2.html
<html>
Blaukraut bleibt Blaukraut und Brautkleid<br>
bleibt Brautkleid.
</html>
Das ganze Spuckt mir dann 6 Zeilen aus, in jeder Steht Array.
Das kann ich nicht nachvollziehen - es sei denn, du hättest noch eine Leerzeile in deiner test2.html, die du hier nicht angibst. Ich komme sonst auf 5 Zeilen (vorausgesetzt, nach "</html> kommt noch ein Zeilenumbruch, sonst nur 4).
<?
Unsauber: Verwende besser die ausführliche Schreibweise "<?php", denn die Kurzform (short_open_tags=on) ist nicht auf allen Servern zulässig.
$text= " ";
while($text!="") {
$text = fgets($fp,10000);
Kann man eleganter schreiben:
while (($text=fgets($fp,10000))!="")
Damit liest du jeweils eine Zeile deiner Quelldatei ein.
$zw=explode("<br>", $text);
und brichst diese eine Zeile an eventuell vorhandenen <br>-Tags auf. Als Ergebnis erhältst du in $zw ein Array, das nur ein Element enthält, wenn kein <br> in der Zeile vorkam, sonst mehrere Elemente.
echo $zw."<br>";
Das ergibt die Ausgabe "Array".
print_r($zw);
Ah, und vom letzten Schleifendurchlauf zeigst du das Ergebnis nochmal ausführlich an.
Im Manual steht zu explode() "Gibt ein Array aus Strings zurück, die jeweils Teil von string sind.".
Kann mir jemand sagen wie das array heißt?
Was meinst du mit "heißt"? Es wird als *Funktionsergebnis* zurückgegeben und hat damit erstmal keinen Namen. Du kannst es einer Variablen zuweisen, so wie du es ja auch machst. Die hat dann den Namen, den du ihr gibst.
Aber dein eigentliches Problem ist doch, dass du eigentlich zwei Schritte machen müsstest, die du hier aber wild verwürfelst. Im ersten Schritt willst du den gesamten Dateiinhalt ein *einen* String einlesen (file() mit anschließendem implode(); ab PHP 4.3.0 auch bequemer mit file_get_contents()), und erst im zweiten Schritt diesen String aufsplitten.
So long,
Martin
Wenn man keine Ahnung hat - einfach mal Fresse halten.
(Dieter Nuhr, deutscher Kabarettist)