Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Zeile löschen aus Textdatei





Frage

Hallo.Wie kann ich mit php eine bestimmte Zeile aus einer Textdatei löschen. Es soll nur die Zeile gelöscht werden die ein bestimmtes Wort enthält. Wie funktioniert das. Das geht doch mit unlink aber wie gibt man an das die Zeile nicht mit der Zeilennummer angegeben wird sondern mit einem Wort.

Antwort 1 von JanVer

Unlink löscht eine gesamte Datei.

Wenn Du nur eine Zeile löschen möchtest, dann musst Du die Datei einlesen und wieder rausschreiben. Wenn die gesuchte Zeile kommt, dann überspringst Du sie halt.

Am leichtesten ist es, die gesamte Datei in ein Array zu lesen und dann das Array abzuarbeiten. Schau mal unter dem Befehl file) nach.

array file ( string filename [, int use_include_path] )

Hier der Link
http://de2.php.net/manual/de/function.file.php

Antwort 2 von echoslider

Ich hab da mal was gebastelt. Dieses Script liest alle Zeilen einer Datei aus(mit Nummerierung) und erzetzt den inhalt aus einer gesuchten Zeile ($suchmuster) mit dem Text aus $neu. Nur der Text von $suchmuster funktioniert nicht aber warum? Nach mehreren Versuchen habe ich rausgefunden das das an den < oder > liegt.Aber was kann ich dagegen machen?


<?php

$suchmuster = ´<iframe src ="index.php?x=Opel"width="50%" noresize scrolling=no FRAMEBORDER=NO BORDER=0 FAMESPACING=0 height="45%"></iframe><br>´;
$neu = ´ ´;


$lines = file (´index.htm´);

// Durchgehen des Arrays und Anzeigen des HTML Source inkl. Zeilennummern
foreach ($lines as $line_num => $line) {

$i= "Line #<b>{$line_num}</b> : " .preg_replace($suchmuster, $neu , htmlspecialchars($line)) . "<br>\n";


echo "$i";


}

?>

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: