Zeilen bearbeiten

pycak

Mitglied
Hallo!

Ich habe immernoch keine Antworten auf mein Prob gefunden.

Problem:

1. Nehmen wir mal an ich habe eine Textdatei mit 3 Zeilen. z.B.:

$a = 1;
$b = 2;
$c = 3;

2. Nehmen wir auch an, dass diese Variablen in einer nicht bekannten Rheienfolge gespeichert sind. (a,b,c - c,a,b - b,a,c....)

Wie finde ich bestimmte Zeile, wo z.B. die $b = 2; gespeichert ist und wie überschreibe ich diese mit z.B. $b = 8; ,ohne Datenbanken zu benutzen und ohne andere Variablen zu verlieren?

Hilfe bitte...
 
Datei in einen Array einlesen, dann mit einer Schleife durchlaufen und den Inhalt abfragen - ggf. ersetzen - und dann wieder zurück in die Datei damit :)
 
aber wie mache ich so, dass es auch zeilenweise ersetzt wird?

wenn ich eine if() abfrage auf $b mache dann wird der wert nicht angesprochen.

Ich bitte um einen Bsp...
 
PHP:
$file = file ("xyz.txt");

$such = '$b = 2;';
$ersetz = '$b = 8;';

foreach ($file as $line) {
  if ($line == $such) { $neu = $ersetz; }
  else { $neu[] = $line; }
}
 
Ist zwar nicht die feine Art,
aber probier mal das hier.
PHP:
<?php
$filename = "deine.txt";
$zeilen = file($filename);

$pattern = "#$b = 2;#si"; // Suche nach
$replace = "$b = 8;";     // Ersetze durch
$zeilen = preg_replace($pattern, $replace, $zeilen);

$neue_txt = implode("", $zeilen); // Zusammenbauen der neuen Txt

$handle = fopen($filename, 'w+');
fwrite($handle, $neue_txt); // Überschreiben der alten Txt
fclose($handle);
?>
 
Zurück