phpbar.de logo

Mailinglisten-Archive

[php] RegEx für (Doppel)namen

[php] RegEx für (Doppel)namen

Albin Blaschka albin.blaschka at sbg.ac.at
Fre Dez 2 13:09:29 CET 2005


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