Wenn Sie PHP nicht benötigen, empfehle ich dringend, solche Dinge von der Kommandozeile aus auszuführen. Es ist das beste Werkzeug für den Job und viel einfacher zu bedienen.
In jedem Fall ist der Befehl sed
genau das, wonach Sie suchen:
Wenn Sie die Groß- und Kleinschreibung nicht beachten müssen:
%Vor% Wenn Sie dies dynamisch innerhalb von PHP durchführen möchten, können Sie passthru()
:
Wenn Sie nicht direkt sed von der Kommandozeile verwenden können, weil es eine dynamische Aufgabe ist und Sie es von PHP aufrufen müssen, ist es schwierig, die Syntax richtig zu machen: Sie müssen diese Zeichen in den Such- und Ersetzungszeichenfolgen auf verschiedene Weise entschlüsseln / p> %Vor%
Die folgende Funktion sucht und ersetzt eine Zeichenfolge in einer Datei ohne die gesuchte Zeichenfolge als regulären Ausdruck zu interpretieren. Wenn Sie möchten, können Sie nach der Zeichenfolge ". *" Suchen und sie durch "$" ersetzen.
%Vor%Holen Sie es ein paar Zeilen gleichzeitig, dump die Variable, die nächsten paar Zeilen.
%Vor%Sie werden sicherstellen wollen, dass das korrekt ist (nicht getestet). Siehe die Bibliothek in PHP-Dokumentation.
Der schwierige Teil wird in die Datei zurückschreiben. Die erste Idee, die mir in den Sinn kommt, ist das Ersetzen der Zeichenkette, das Schreiben des neuen Inhalts in eine andere Datei und dann am Ende das Löschen der alten Datei und das Ersetzen durch die neue Datei.