Lisytiro Geschrieben 11. April 2012 Geschrieben 11. April 2012 Hallo zusammen, ich hab folgendes Problem: habe ein altes PHP Script das nun auf PHP 5 nicht mehr funktioniert... if(ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $defaultDate, $regs) { }[/PHP] Der dazugehörige Fehler ist: Function ereg() is deprecated Soweit ich bis jetzt rausgelesen habe, soll ereg nach iwas suchen, nur leider versteh ich diese Bedingung nicht um sie vielleicht nochmal umzuschreiben. Und leider ist der Kollege der das Script gebastelt hat inzwischen nicht mehr unter uns und ich als relativer Anfänger versteh nicht ganz wonach er hier sucht. Könnt Ihr mir bitte weiterhelfen? Wichtig wäre vorallem die Erklärung des Suchpatterns "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})" LG, BB
Dragon8 Geschrieben 11. April 2012 Geschrieben 11. April 2012 Das sieht mir nach einem einfachen Muster für ein Datum des Formates "JJJJ-MM-TT" aus. Tag und Monat können entweder 1 oder 2 Zahlen sein, das Jahr muss immer aus 4 Zahlen bestehen. Wenn du dir jetzt die Dokumentation zu dieser Funktion durchlesen würdest, könntest du dort erfahren, dass geklammerten Gruppen in das Array $regs geschrieben werden, solange es Übereinstimmungen gibt. Dort in der Doku ist sogar dein Code als Beispiel angegeben.
Lisytiro Geschrieben 11. April 2012 Autor Geschrieben 11. April 2012 also macht es nichts weiter als das Datum auf seine 'Gültigkeit' zu prüfen...
ins0 Geschrieben 11. April 2012 Geschrieben 11. April 2012 (bearbeitet) if(preg_match('#([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})#', $defaultDate, $regs)) { } [/php] ob das hier nur das Datum prüft oder nicht, können wir dir nicht sagen - ich sehe hier nur eine Funktion die einen String zb. nach dem Format 9999-99-99 prüft und zerlegt und nicht mehr. Das es ein Datum ist macht die Var "defaultDate" klar aber eine Datumsvalidierung ist das nicht. Bearbeitet 11. April 2012 von ins0
Servior Geschrieben 13. April 2012 Geschrieben 13. April 2012 bool checkdate ( int $Monat, int $Tag, int $Jahr ) Damit kann man sich regex sparen und hat die überprüfung.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden