Moin!
Wozu preg_match?
Frage ich mich auch, allerdings ist die Frage, welche Fehlerfälle wohl auftreten können, und wie man mit diesen dann umgeht.
Mit explode am Komma zerlegen,
Array-Inhalte validieren, wenn ungültig ggf. entfernen,
Es gibt ctype*-Funktionen, die auf bestimmte Zeichentypen prüfen können.
mit implode wieder mit Komma als Trenner zusammenfügen,
in Query einsetzen.
Von den ctype-Funktionen wird behauptet: "Die ctype Funktionen sind grundsätzlich performanter als die entsprechenden regular Expressions und oft auch schneller als die equivalenten str_* und is_* Funktionen da sie direkt in C geschrieben und optimiert sind."
Allerdings ist die Frage, ob die Kombination aus explode, Array-Operationen, Aussortieren und implode tatsächlich schneller ist als die Anwendung eines passenden RegEx. Dies festzustellen wäre Aufgabe eines entsprechenden Profilings.
Aber Performance sollte nicht das primäre Handlungsinteresse sein. An allererster Stelle steht die Klarheit des Codes. Wenn der Code nicht auf den ersten Blick offenbart, was er tut, und auch kein entsprechender Kommentar hilft, es zu verstehen, dann ist der Code schlecht und ein Quell beliebigen Übels.
Was die Performance angeht: Relevant wird das ohnehin erst, wenn Code tatsächlich mehrfach ausgeführt wird. Das ist bei der Prüfung von Eingangsparametern eigentlich eher nicht der Fall.
- Sven Rautenberg