[PHP] Zeilen aus Datei löschen

Christof

Well-known member
ID: 40685
L
18 Mai 2006
71
0
Hallo zusammen,

Ich will halt alle Zeilen die nur Simikolons enthalten (;;;;;;;;), egal wieviele auf der Datei löschen.
Mit regulären Ausdrücken kenne ich mich halt nicht so gut aus, schon ziemlich viel ausprobiert.

habe folgende Funktion:
PHP:
    function replace_leerzeilen_csv($datei){
      rename($datei, $datei.'.bak');
      $fp = file($datei.'.bak');
      $sp_anz = count($fp);
      for($o=1;$o<=$sp_anz;$o++){
        if(!ereg('^(???????????????????)$',$fp[$o-1])){
          unset($fp[$o-1]);
          }
        }
      $neu = implode("", $fp);
      $open = fopen($datei, "w+");
      fwrite($open, $neu);
      fclose($open);
      unlink($datei.'.bak');

      }
 
Hier ein Beispiel wie so eine Datei ausehen könnte:
Code:
;;;blub;lalal;;
;;;;;;;;;;
;;;blub;lalal;;
;;;blub;lalal;;
;;;;;;;;;;
;;;blub;lalal;;
;;;blub;lalal;;
;;;;;;;;;;
;;;blub;lalal;;
;;;blub;lalal;;
;;;blub;lalal;;
;;;;;;;;;;
;;;;;;;;;;;;;;
;;;
;;;;;;;;;;
 
Danke für deine Antwort, leider hat das nicht funktioniert.
Kann das sein dass ich noch irgendwelche Umbruchszeichen mitnehmen muss?
 
So ... durch Probieren habe ich dann doch rausgefunden wie es sein muss.

Die Umbruchszeichen sind wohl doch das Problem gewesen.
Habe es dann so gemacht:
^([;[:space:]]+)$

Danke trotzdem, hat mir auf jeden Fall geholfen!