Tom: Explode

Hallo und guten Abend,

bin mal wieder da und habe gleich ne Frage:

Hat jemand eine gute Idee, wie ich eine Logbuch-Zeile exploden kann?
(Apache-Log)
Normalerweise werden die Felder durch Leerzeichen getrennt, es sei denn, sie sind durch " " gebunden. Also innerhalb der Häkchen dürfen Leerzeichen auftreten, ohne dass es sich um ein anderes Feld handelt. Ich will mir ein eigenes Abfragetool über HTTP fertig machen für das Log. Mit tageweiser Anzeige (oder Bereich) und Filtermöglichkeit.

Grüße

Tom

  1. Hi,

    Subject: (PHP) Explode

    klingt nach einem Imperativ ;-)

    Hat jemand eine gute Idee, wie ich eine Logbuch-Zeile exploden kann?

    Gar nicht. Das Format ist zu komplex für eine derart simple Funktion. Beschäftige Dich mit Regular Expressions.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Cheatah,

      Hat jemand eine gute Idee, wie ich eine Logbuch-Zeile exploden kann?

      Gar nicht. Das Format ist zu komplex für eine derart simple Funktion. Beschäftige Dich mit Regular Expressions.

      Das habe ich befürchtet. Kannst Du mir da nen Tipp geben, wie eine solche Regel aufgebaut sein müsste?

      Oder wird es günstiger sein, den Steing einfach von vorne bis hinten durchzulesen und einfach die Zeichen umzustapeln, bis ein Leerzeichen kommt, bzw ein " odd bis " even. Ist es denn möglich, dass da ein " drinsteht im Log? Dann wäre ich ja schon wieder reingefallen.

      Grüße

      Tom

    2. Hallo,

      Gar nicht. Das Format ist zu komplex für eine derart simple Funktion. Beschäftige Dich mit Regular Expressions.

      habs jetzt mit klassischer Programmierung in PHP gelöst. Zeile für Zeile lesen und darin Zeichen für Zeichen auswerten.

      Meine Angst, dass das script einschlafen könnte, war vollkommen unbegründet. Es dauert keine 1,3 Sekunden, bis eine Datei mit 40.000 Zeilen durchgearbeitet ist und als mehrdimensionales Array bereitsteht.

      Ist doch was anderes, als (Net-)Basic. Das schläft nämlich ein.

      Grüße

      Tom