Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich bestimmte Zeilen in einer Textdatei mit PHP ersetzen?
Bestimmte Zeilen in einer Textdatei mit PHP ersetzen
Innerhalb einer Textdatei ist das selektive Ersetzen von Zeilen basierend auf dem Vorhandensein eines bestimmten Wortes möglich eine allgemeine Anforderung. In dieser Hinsicht bietet PHP mehrere Ansätze, um diese Aufgabe zu erfüllen.
Verwenden von Array-Funktionen für kleinere Dateien (in den Speicher passen)
Für Textdateien, die in den Speicher passen, Der folgende Ansatz kann verwendet werden:
$data = file('myfile'); // Array of lines function replace_a_line($data) { return (stristr($data, 'certain word')) ? "replacement line!\n" : $data; } $data = array_map('replace_a_line', $data); file_put_contents('myfile', $data);
Lambda-Funktionen in PHP-Versionen > 5.3.0 ermöglichen eine prägnante Version:
$data = array_map(function($data) { return (stristr($data, 'certain word')) ? "replacement line\n" : $data; }, $data);
Für größere Dateien (speicherintensiv)
Bei größeren Dateien iteriert der folgende Ansatz Zeile für Zeile. Zeile, ohne die gesamte Datei in den Speicher zu laden:
$reading = fopen('myfile', 'r'); $writing = fopen('myfile.tmp', 'w'); $replaced = false; while (!feof($reading)) { $line = fgets($reading); if (stristr($line, 'certain word')) { $line = "replacement line!\n"; $replaced = true; } fputs($writing, $line); } fclose($reading); fclose($writing); if ($replaced) rename('myfile.tmp', 'myfile'); else unlink('myfile.tmp');
Durch die Implementierung dieser Techniken können Sie bestimmte Zeilen in einer Textdatei effektiv ersetzen basierend auf einer Wortübereinstimmung.
Das obige ist der detaillierte Inhalt vonWie kann ich bestimmte Zeilen in einer Textdatei mit PHP ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!