Mailinglisten-Archive |
Hallo! Habe folgendes Problem: Ich habe ein Online Formular für eine Anmeldung und will jetzt die Angaben prüfen. Für die (Nach-)Namen nützen mir die ctype* - Funktionen nichts, da ich auch Doppelnamen (z. B.: Maier - Berger) berücksichtigen muß, also müssen die RegExe wieder einmal herhalten: Meiner lautet soweit wie folgt: (snips...) setlocale(LC_ALL,'de_AT.UTF-8'); $pattern = '/[[:alpha:]]{1,} {0,}-{0,1} {0,}[[:alpha:]]{0,}/'; preg_match ($pattern, $_POST['name'], $find); Sind es "einfache" Namen wie Berger, Blaschka funktioniert der oben angeführte Regex, aber sobald Umlaute oder "exotische" Zeichen aus anderen Sprachen kommen (Ost- und Nord-Europa) steigt der Regex aus, auch bei Doppelnamen... Also matchen will ich * in UTF-8 * Strings wie: Müller, Berger, Maier-Huber, Maier - Huber der RegEX /[[:alpha:]]{1,} {0,}-{0,1} {0,}[[:alpha:]]{0,}/ funktioniert nicht, er paßt nur auf "einfache" Namen ohne Sonderzeichen... Was habe ich vergessen? Danke im Voraus, Albin -- --------------------------------------------------------------------- | Albin Blaschka, Mag. rer.nat | Fachbereich für Organismische Biologie, Universität Salzburg | Hellbrunnerstr. 34, A - 5020 Salzburg, Österreich | | It's hard to live in the mountains, hard, but not hopeless! ---------------------------------------------------------------------
php::bar PHP Wiki - Listenarchive