PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : utf8 - preg_replace - umlaute - pattern modifier "/u"


waYan
23.04.2008, 19:51:45
Hallo,

ich möchte aus einem UTF8-String die Sonderzeichen entfernen:

$str = 'abc äöü%§"&ßÄÖÜ abc';
echo 'Original: '. $str.'<BR>';
$str = preg_replace('/[^\w]/u', ' ', $str);
echo 'Ohne Sonderzeichen: '. $str;

Ausgabe unter Windows (XP):

Original: abc äöü%§"&ßÄÖÜ abc
Ohne Sonderzeichen: abc äöü ßÄÖÜ abc

Also alles richtig :-)

Ausgabe unter Linux (CentOs, Fedora):

Original: abc äöü%§"&ßÄÖÜ abc
Ohne Sonderzeichen: abc abc

Hier werden die Umlaute als Sonderzeichen interpretiert und entfernt :-(

Irgendwie schein der Modifier "/u" (switch for Unicode) unter Linux nicht zu funktionieren. Das kann doch nur eine Einstellung im Betriebssystem sein oder? Kennt sich damit jemand aus?

Vielen Dank.

greeTz
waYan