pearljam: txt blockweise bis nächste leerzeile auslesen

ich möchte ein logfile von folgendem format auslesen:

----------------------------------------
/data/home/tape2...
Wed Feb 19 19:38:58 CET 2003
Making backup of /data/home/ordner/Profil/Desktop ...
Making backup of /data/shared3 ...
Wed Feb 19 19:46:11 CET 2003

/data/home/tape2...
Wed Feb 19 20:06:58 CET 2003
Making backup of /data/home/user1/ ...
Making backup of /data/home/user2/ ...
Making backup of /data/home/user3/ ...
Wed Feb 19 21:09:37 CET 2003

/data/home/tape2...
Wed Feb 19 20:06:58 CET 2003
Making backup of /data/home/user1/ ...
Making backup of /data/home/user2/ ...
Making backup of /data/home/user3/ ...
Making backup of /data/home/user4/ ...
Wed Feb 19 21:09:37 CET 2003
----------------------------------------

wie kann ich php jetzt veranlassen dass immer nur block für block und immer nur die 1te, 2te, und letzte zeile (weil die dazwischen sind manchmal nur 2 zeilen und manchmal 5 .. - also verschieden) vor einer leerzeile auslest und in 3 variabeln speichert?
das ganze dann mit einer schleife - dann pack ich es in eine tabelle und möchte also pro tabellenzeile einen backup logeintrag - also immer einen zusammengehörenden absatz ausgeben - toll wäre noch wenn zeile 1 /data/home/tape2 durch "Tape 2" bzw.. /tape3 durch "Tape 3" usw.. ersetzt werden könnte..

wie kann ich das ganze veranlassen - kann mir da bitte jemand behilflich sein - danke im voraus

  1. Hallo

    Eine Idee, es mag vielleicht auch noch anders gehen :)

    1. Du liest die ganze Datei in einen String ein.
    2. Du ersetzt \n\n\n durch \n\n (also 3 Zeilenumbrüche hintereinander durch zwei). Dies musst du per while-Schleife machen, damit es so lange wiederholt wird bis nur noch einfache oder doppelte ZUs da sind.
    3. Du bastelst dir aus dem string einen Array und trennst die Elemente immer dort, wo 2 Zeilenumbrüche sein.
      Den Array kannst du dann ja bestens ausgeben.

    Grüße

    David

    --
    "Nobody will ever need more than 640k RAM!"
    1981 Bill Gates
  2. hm, willst du alle Zeilen speichern, die nicht mit "Making" anfangen?

    Dann geht das vielleicht über Reguläre Ausdrücke:

    datei zeilenweise auslesen und abfragen ob die Zeile weder leer ist noch das wort Making enthält! wenn das der Fall ist --> speichern.