Lisytiro Geschrieben 11. April 2012 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 11. April 2012 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lisytiro Geschrieben 11. April 2012 Autor Teilen Geschrieben 11. April 2012 also macht es nichts weiter als das Datum auf seine 'Gültigkeit' zu prüfen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ins0 Geschrieben 11. April 2012 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Servior Geschrieben 13. April 2012 Teilen Geschrieben 13. April 2012 bool checkdate ( int $Monat, int $Tag, int $Jahr ) Damit kann man sich regex sparen und hat die überprüfung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.