Mailinglisten-Archive |
Aloha,
> From: Michael Post <michael.post at purematic.de>@phpbar.de on 22.07.2004
11:52 ZE2
> Leider erhalte ich eine Fehlermeldung.
> Warning: Unknown modifier '{' in /srv/www/....
> preg_match('(\+ {0,1}){0,1}[0-9]+ *(\([0-9]*\)){0,1}[0-9 \-/]+',
> $_REQUEST['tel']);
üblicherweise ist ein RegExp in der Form "/ ...... /x",
wobei zwischen den / der eigentliche Regexp ist und x
ein Modifier sein _kann_.
Der / kann auch ein anderes Nichtalphanumerisches Zeichen sein,
z.B. ° . Das hat dann den Vorteil, daß man den / nicht escapen
muß, wenn er z.B. in Pfaden vorkommt.
Ich glaube du wolltest so etwas schreiben:
preg_match('/(\+ {0,1}){0,1}[0-9]+ *(\([0-9]*\)){0,1}[0-9 \-/]+/', ...
oder
preg_match('°(\+ {0,1}){0,1}[0-9]+ *(\([0-9]*\)){0,1}[0-9 \-/]+°', ...
Wobei du nur prüfst, ob der Ausdruck _irgendwo_ in der Telefonnummer
vorkommt. Wenn du prüfen willst, ob _nur_ dein Ausdruck vorkommt, musst
du noch ^ für den Anfang der Zeichenkette und $ für das Ende der Zeichen-
kette benutzen.
==>
preg_match('/^(\+ {0,1}){0,1}[0-9]+ *(\([0-9]*\)){0,1}[0-9 \-/]+$/', ...
Grüße, Mathias
php::bar PHP Wiki - Listenarchive