+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Datum in string erkennen

  1. #1
    Verbringt hier viel Zeit Avatar von Viril
    Registriert seit
    28.07.2005
    Ort
    my home: www
    Alter
    29
    Beiträge
    551
    Bedankte sich
    26
    Erhielt 53 Danksagungen
    in 50 Beiträgen

    Standard Datum in string erkennen

    Hallo zusammen,

    ich habe ein Problem bei dem ich Eure hilfe benötige, vielleicht hat hier ja jemand eine Idee.

    Ich habe eine CSV-Datei die ich mittels PHP einlese. Die Daten kommen aus einer Logdatei die ich anschaulich darstellen möchte.
    Leider sind die Dateh "Kraut & Rüben" also muss ich mir alles erstmal zurecht legen.


    in meinem String stehen verschieden viele einträge hintereinenander, ohne ein Durchgängiges Trennungszeichen oder ähnlichem
    Ich möchte nach jedem Datum innerhalb dieses Strings einen Zeilenumbruch voranstellen. Hat jemand eine Idee wie ich innerhalb dieses Strings erkenne das es sich um dieses Datum handelt? Das Datum ist immer gleich geschrieben, nämlich: "TT.MM.JJJJ HH:MM:SS".

    Der string sieht also so aus:
    Code:
    07.07.2011 17:08:59 blaaa blaa blaa 08.08.2011 17:08:59 blaaa blaa blaa 09.09.2011 17:08:59 blaaa blaa blaa 07.07.2011 17:08:59 blaaa blaa blaa
    und als ergebniss hätte ich gern:
    Code:
    <br />07.07.2011 17:08:59 blaaa blaa blaa <br />08.08.2011 17:08:59 blaaa blaa blaa <br />09.09.2011 17:08:59 blaaa blaa blaa <br />07.07.2011 17:08:59 blaaa blaa blaa
    Hat jemand einen heissen Tip?
    1. Suche benutzen
    2. Thread als "gelöst" markieren
    3. Danke-Button kommt immer gut ;-)

  2. #2
    Kommt häufiger vorbei
    Registriert seit
    14.06.2009
    Ort
    Berlin
    Beiträge
    280
    Bedankte sich
    59
    Erhielt 42 Danksagungen
    in 42 Beiträgen

    Standard

    Hm, also wenn das Format immer gleich ist, dann hättest du mit den zwei dicht aufeinander folgenden ":" (Doppelpunkt) einen Ansatzpunkt. Du wüsstest dass nachdem der zweite Doppelpunkt kommt (aber nur wenn es davor 2 Ziffern gab) 2 Ziffern später ein Zeilenumbruch eingefügt werden soll.

    Ich sehe gerade an deinem Beispiel, dass du es genau umgekehrt meinst, aber das Prinzip ist ja das gleiche: Suche nach Punkten statt Doppelpunkten und wenn du es findest setze einen Zeilenumbruch davor.

    Was nun die geeignetste Methode wäre kann ich auf die Schnelle nicht sagen. Ich denke dir bleibt nichts anderes übrig als mit Regulären Ausdrücken zu arbeiten :/
    "Wenn die geistige Sonne niedrig scheint, dann wirft auch ein Zwerg einen langen Schatten" - Rechts LINKS unten befindet sich das "Danke" Button
    http://www.nachdenkseiten.de
    http://islam.de/72.php

  3. #3
    Neu an Board
    Registriert seit
    15.09.2006
    Beiträge
    32
    Bedankte sich
    1
    Erhielt 13 Danksagungen
    in 12 Beiträgen

    Standard

    PHP-Code:
    $newstring preg_replace("%([0-9]{2}\.[0-9]{2}\.[0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2})%","<br />$1",$string); 
    Sollte zum gewünschten Ergebnis führen!

  4. Erhielt Danksagungen von:


  5. #4
    Verbringt hier viel Zeit Avatar von Viril
    Registriert seit
    28.07.2005
    Ort
    my home: www
    Alter
    29
    Beiträge
    551
    Bedankte sich
    26
    Erhielt 53 Danksagungen
    in 50 Beiträgen

    Standard

    Klasse - Danke!
    preg_replace hatte ich auch schon probiert, hatte allerdings einen Fehler in meinem Suchmuster und vor allem kannte ich die Variable $1 hier nicht.
    Wieder was gelernt
    1. Suche benutzen
    2. Thread als "gelöst" markieren
    3. Danke-Button kommt immer gut ;-)

  6. #5
    Neu an Board
    Registriert seit
    15.09.2006
    Beiträge
    32
    Bedankte sich
    1
    Erhielt 13 Danksagungen
    in 12 Beiträgen

    Standard

    Du kannst im regulären Ausdruck mit () Gruppen definieren und diese dann mit $1-99 referenzieren, wobei $1 die erste Gruppe ist.

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein