phpbar.de logo

Mailinglisten-Archive

[php] preg_match reagiert unterschiedlich

[php] preg_match reagiert unterschiedlich

AA aa at geb-team.de
Mit Jan 17 12:36:01 CET 2007


hallo ringo,

im zusammenhang mit dem schalter "i" funktionieren umlaute nicht 
zuverlässig (abhängig von eingestellten locales). entweder stellst du 
diese wieder auf de, german etc ein, oder aber du ergänzt deinen 
ausdruck um die grossen buchstaben (öÖäÄüÜ)

gruss
André

Ringo Großer wrote:
> Hallo Liste,
> 
> nach dem Umzug auf einen neuen Server stelle ich einen Unterschied
> im Verhalten von preg_match bei Verwendung eines betimmten Pattern
> fest.
> 
> Alter Server:
> PHP Version 4.4.1-pl1
> PCRE (Perl Compatible Regular Expressions) Support enabled
> PCRE Library Version 6.2 01-Aug-2005
> 
> Neuer Server:
> PHP Version 4.4.4-0.dotdeb.3
> PCRE (Perl Compatible Regular Expressions) Support  enabled
> PCRE Library Version  6.6 06-Feb-2006
> 
> Mein Script:
> $streetname = 'Öschelbronner Strasse';
> if ( !preg_match('/^[0-9a-zäöüß \'\.\+\-]+$/i', $streetname) ) {
>     echo 'invalid';
> }
> else {
>     echo 'valid';
> }
> 
> liefert mir auf dem alten Server ein "valid", aber auf dem neuen
> ein "invalid", obwohl der Straßenname per Definition eine korrekte
> Syntax hat. Sieht jemand einen Fehler oder macht PHP hier Mist?
> 
> regards, Ringo 
> 

php::bar PHP Wiki   -   Listenarchive