preg_match-all datum suchen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • preg_match-all datum suchen

    Hallo,

    dies hier ist mein Ansatz ein Datum aus einer .csv-Datei
    'rauszusuchen:
    PHP-Code:
    preg_match_all("#([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})#"$html$ausgabePREG_SET_ORDER); 
    findet z.B. 23.05.2004

    aber leider auch: 228 9141 ein Teil einer Telefon-Nr.
    Ich nehme an, es liegt an dem "." in meinem suchpattern, ist ja eigentlich ein Metazeichen..

    habe die ganze zeit auf pcre.nophia.de rumgespielt, aber immer wieder schnappe ich 2-3 solcher Nummern auf..
    wie kann ich es erreichen, dass der "." nicht als metazeichen verstanden wird (wenn es daran liegt)?

    Greetings

  • #2
    Wie wärs mit escapen? Aus "." wird dann "\.".

    Kommentar


    • #3
      Oder wie wäre es hiermit?

      preg_match("/(\d{2})\.(\d{2})\.(\d{4})/",$datum,$ergebnis));
      Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

      Kommentar


      • #4
        Dann doch eher das Pattern noch mal überdenken, denn sonst wäre ja auch der 36.23.8982 ein gültiger wert.

        Kommentar


        • #5
          Danke erstmal, aber es handelt sich ausschließlich um gültige Datumseinträge.

          Die Variation mit \d simuliert die Zahlen 0-9, ist kürzer..

          Ich finde jetzt nur das Datum.

          Thanks
          Zuletzt geändert von Phillip; 06.07.2005, 22:46.

          Kommentar


          • #6
            Nur mal zur Inspiration: Ich verwende folgendes Pattern-Muster:
            PHP-Code:
            $pattern "/^(([0-2][0-9])|(3[01]))\\.((0[0-9])|(1[0-2]))\\.200[4-9]$/"

            Kommentar


            • #7
              sieht "interessant" aus...filtert sicher nur ein gültiges Datum 'raus..innerhalb dieses Jahrzehnts.

              Thanks

              Kommentar


              • #8
                findet dennoch den 31.02.2004 ...

                Datumsgültigkeit per preg_match? Glaub ich nicht - Das Pattern wäre so komplex um Schaltjahr zu bedenken (wenns denn überhaupt geht) und es kann letzlich doch nur ein bestimmtes Format, lass dann mal einen kommen der 3/2/2000 eingibt und dann?

                Da gehts doch schneller mit ner kleinen funktion ...

                allerdings zum suchen --- kein Einwand
                chansel0049
                ----------------------------------------------------
                if you've reached the bottomline - dig further!
                Übersetzer gesucht? http://www.babelport.com

                Kommentar

                Lädt...
                X