phpbar.de logo

Mailinglisten-Archive

[php] Frage zu Regulären Ausdrücken, Zollzeichen und Apostroph

[php] Frage zu Regulären Ausdrücken, Zollzeichen und Apostroph

Armin Briatta phpliste at briatta.de
Sam Aug 22 08:20:20 CEST 2009


Hallo Oliver,

Danke für die Mühe!

Oliver Schaedlich schrieb:

> gib mal ein paar genaue Beispiele, was als Eingabe nun erlaubt bzw.
> nicht erlaubt sein soll; auch, wo der Ausdruck welche zusätzlichen
> Zeichen tolerieren muss.
> 
> Ich habe Deinen Ausdruck mal etwas bereinigt (unnötige Klammern,
> Escapes, Klassen etc. entfernt), wodurch er zwar etwas kürzer, aber
> auch nicht wesentlich aufschlußreicher wird. ;)
> 
> ^[\w\pL/()&]{1,18}(?:(?: |-|\./){0,3}[\w\pL/()&]+\.?){0,6} ?-?(?:[ \d]{0,4}?\.?)?$

Mein Ausdruck war im Lauf der Zeit und von mir selbst ausgetüftelt, 
deshalb vielleicht etwas umständlich, hat aber soweit funktioniert.

Erlaubt sein sollten bisher Namenseingaben mit mehreren Vor- oder 
Nachnamen, Bindestrichen, auch Strings wie "Papst YX der V." oder "Anna 
& Co.", "König Ludwig der 2."  u.s.w.

Nun sollen auch Zollzeichen erlaubt sein, die viele als 
Anführungszeichen benutzen nach dem Motto "Haus "Sonnenschein" " oder 
der (Kneipen-)Apostroph, z.B. "Jutta's Kramladen".

Ich habe das heute morgen übergangsweise so gelöst, dass ich den im 
Formular eingegebenen String zuerst wie folgt bearbeite :

$correct_string = str_replace ("\"", "\'", $original);
$correct_string = stripslashes ($correct_string);
$correct_string = strip_tags($correct_string);

Anschließend kommt folgendes:
$correct_string = rtrim($correct_string);
$correct_string = ltrim($correct_string);
$correct_string = urldecode($correct_string);

Dann habe ich meinen bisherigen regülären Ausdruck so verändert:
/^[\w\pL\/()\&\']{1,18}(([ ]|-|\.\/){0,3}[\w\pL\/()\&\']+\.?){0,6}([ 
])?(\-)?([ 1234567890]{0,4}?[\.]?)?$;	

Habe also immer da, wo ich Buchstaben erlaube, auch Folgendes eingefügt:
\'

Nun sind der Apostroph (und damit auch die umgewandelten Zollzeichen 
erlaubt). Das so hinzubekommen, ohne das Zollzeichen zu ersetzen, ist 
mir nicht gelungen.

Viele Grüße
Armin


-- 
Armin Briatta
Fotografie und Webdesign

Kirchbergweg 2
64367 Mühltal-Trautheim
(0173) 6 54 97 10
www.briatta.de

php::bar PHP Wiki   -   Listenarchive