In meiner Schleife mache ich überhaupt nichts mit Dateien.
Vor der Schleife hole ich die gesamte Eingabedatei mit file() in ein Array.
Über dieses Array iteriert meine Schleife, ändert jeweils eine Zeile und schreibt die Änderung zurück in das Array.
Nach der Schleife schreibe ich das gesamte Array in einem Rutsch mit file_put_contents() in eine Datei.
Hier nochmal der Code mit Kommentaren:
Vor der Schleife hole ich die gesamte Eingabedatei mit file() in ein Array.
Über dieses Array iteriert meine Schleife, ändert jeweils eine Zeile und schreibt die Änderung zurück in das Array.
Nach der Schleife schreibe ich das gesamte Array in einem Rutsch mit file_put_contents() in eine Datei.
Hier nochmal der Code mit Kommentaren:
PHP-Code:
// Eingabedatei in Array laden
$text = file('Datei A');
// Ersetzungstabelle $tabelle = array(...) laden, s.o.
include('Datei mit Tabellendefinition');
// für jede Zeile der Eingabedatei die Schleife durchlaufen
foreach ($text as $nr => $zeile) {
// Zeile am Trennzeichen zerlegen, in Hilfsarray speichern
$teile = explode('#', $zeile);
// zwei Ersetzungen vornehmen, in Hilfsvariablen speichern
$ersetzt01 = str_replace($tabelle[0], $tabelle[1], $teile[0]);
$ersetzt02 = str_replace($tabelle[0], $tabelle[2|, $teile[0]);
// neue Zeile zusammensetzen, an Position der alten im Array speichern
$text[$nr] = $zeile + $ersetzt01 + '.php">' + $ersetzt02 + '</a>';
}
// gesamtes Array in eine Datei schreiben
file_put_contents('Datei B', $text);
Kommentar