phpbar.de logo

Mailinglisten-Archive

[php] preg_replace (Pattern)

[php] preg_replace (Pattern)

Michael Post michael.post at purematic.de
Don Jul 22 12:14:07 CEST 2004


Hallo,

Mathias Gloss wrote:

>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 \-/]+$/', ...
>
>  
>

Vielen Dank

das hat jetzt geholfen. Manchmal hat man selber ein Brett vor dem Kopf 
oder lässt sich durch falsche oder nicht auf den ersten Blick eindeutige 
Fehlermeldungen täuschen.

Vielen, vielen Dank

Michael


php::bar PHP Wiki   -   Listenarchive