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