phpbar.de logo

Mailinglisten-Archive

[php] regulärer Ausdruck Umlaute utf-8

[php] regulärer Ausdruck Umlaute utf-8

Yannik Hampe yannik at cipher-code.de
Mon Aug 4 20:48:08 CEST 2008



Armin Briatta wrote:
> Liebe Entwickler,
> 
> Meine Frage von gestern war vielleicht zu ungenau. Deshalb heute nochmal:
> 
> Ich fragte bisher Formulareingaben nach folgendem, hier zur Anschauung 
> vereinfachten Muster ab:
> 
> if(!preg_match("/^[\w\pL\/]+$/u" ,$string)) {anweisung}
> 
> Ich frage also nach Zahlen, Buchstaben inclusive Umlaute und anderer 
> Sonderzeichen sowie dem Unterstrich in einem utf-8-codierten string.
> 
> Bei Seiten, welche bei 1und1 gehostet sind, funktioniert es. Nun 
> funktioniert es bei einer bei strato gehosteten Site nicht: Umlaute und 
> andere Sonderzeichen werden nicht gematcht.

Schau mal auf
http://www.regular-expressions.info/refflavors.html
und scroll dann runter bis "Unicode Properties, Scripts and Blocks". 
Dort findest du Infos zur Unterstützung des \p-tags. Die PCRE, die php 
verwendet muss mit unicode support kompiliert werden...
> 
 >
> 
> Kann mir irgendjemand einen Lösungsansatz bieten oder einen guten Link, 
> welcher mir weiterhelfen kann? Muss ich etwa jedes Sonderzeichen, das 
> ich erwarte, von Hand eingeben?

Du kannst das ganze eventuell mit so Sachen wie [von-bis] abkürzen... 
Musst du mal ausprobieren. Wenn du die 100% garantiert kompatible Lösung 
haben willst, dann müsstest du das wohl...
> 
> Grüße zum Montagabend
> Armin


Yannik

php::bar PHP Wiki   -   Listenarchive