Ganze Zeile vernichten :-)

suedi

Mitglied
Hallo Freunde

wollte mal wissen, wie ich eine ganze Zeile, also nicht nur einen
bestimmten String mit zb. str_replace löschen kann.
Besser gesagt, wenn eine Zeile zb. das Wort "Fehler" enthällt, soll
die ganze Zeile gelöscht werden und nicht nur das einzelne wort

danke für eure vorschläge
suedi
 
Was denn für eine Zeile ? In einer bestehenden Datei die du einliest ?
Wenn ja lies die Datei mit file() in ein Array ein dann kannst du über den numerischen Index die Zeilen Stück für Stück ansprechen.
 
Naja, Du liest die Datei mit file() ein und erhälst damit einen Array. Dann gehst du mit einer for-Schleife das Array durch und checkst, ob in der aktuellen Zeile ein "Fehler" ist. Wenn dem so ist, löscht du die Zeile mit unset.
Fertig! :)

Edit: Damn, Tim war schneller.
 
Wow das ging ja schnell:-)

und immer vergesse ich etwas...

nun ich lese mehrere Dateien ein, und aus den Dateien
bestimmte Textpassagen,allerdings sind auch unnötige Zeilen
mit bestimmten Attributen die ich löschen will......

Ich muss mal probieren,was ihr mir geraten habts, hoffe das klappt....
 
Schau dir mal die Zeile an:
Code:
$sText = preg_replace("/\n(.[^\n]*)böseswort(.[^\n]*)\n/isU", "\n", $sText);
Ich glaub zwar nicht, dass es schöner RegEx Stil ist, aber es scheint jedenfalls zu funktionieren :)

//Edit: man, bin ich langsam :rolleyes:
 
oh......das klingt alles so schwer....ich bin jetzt total verwirrt.

Nun um ehrlich zu sein verstehe ich euch leider nicht so ganz,wobei ihr
sicherlich recht habt.

Also ich habe folgendes, womit ich die bestimmten Attribute in Arrays packe:

PHP:
while(list($key,$val)=each($jahreszahlen))
{
   $i++;
   if($i%2==0)                                                             //Array so teilen,dass nur
   {                                                                       //die Testinarten angezeigt
      $test_art[$i] =  "<br>".$val;                                      //werden können
   }
   else
   {
      $tag   = substr($val,0,2);                                          //Datum
      $monat = substr($val,3,2);                                          //in das
      $jahr  = substr($val,6,4);                                          //Format der
      $test_datum[$i] ="<br>".$jahr.$monat.$tag;                        //Datenbank ändern
   }

}

In $test_art ist viel Text enthalten, $test_datum ist das entsprechende Datum zu dem entsprechden Text, ich habe diese beiden Stellen getrennt, weil ich es so für die Datenbank brauche.

$test_art beinhaltet nun ein bestimmtes Wort was ich nicht will, die Stelle, also die Stelle des Arrays dieses Wortes kann immer variieren. Wenn ich aber dass gesuchte wort das $test_art enthält,entfernen will soll gleichzeitig dass entsprechende datum auch rausfliegen. Das sollte denke ich in der gleichen Zeile liegen. Nun ich weiß einfach nicht wie ich das ganze machen soll.......

danke an alle
 
Zurück