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 Zitieren
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. Zitieren
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... Zitieren
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 Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.