preg_replace und Umlaute
am 23.10.2006 14:43:06 von Frank Heidig
Hallo,
ich habe ein kleines Problem mit preg_replace und Umlaute und
Umlauten.Aus einem String möchte ich alles ausser Buchstaben und Umlaute
entfernen. Leider klappt dies mit den umlauten nicht :-(
$str = preg_replace("/[^a-z üöä]/i", "ue", $str);
die Umlaute fallen mit raus.
Habe dann mal versucht mit
$str = preg_replace("/ä/", "ue", $str);
die Umlaute auszutauschen. Passiert aber überhaupt nix... :-(
Kann mir vielleicht jemand weiter helfen...
viele Grüße
Frank
Re: preg_replace und Umlaute
am 23.10.2006 16:24:44 von Frank Heidig
kleiner Fehler...muss lauten:
$str = preg_replace("/[^a-z üöä]/i", "", $str);
aber irgendwie werden die Umlaute nicht genommen... :-(
Frank Heidig schrieb:
> Hallo,
>
> ich habe ein kleines Problem mit preg_replace und Umlaute und
> Umlauten.Aus einem String möchte ich alles ausser Buchstaben und Umlaute
> entfernen. Leider klappt dies mit den umlauten nicht :-(
>
> $str = preg_replace("/[^a-z üöä]/i", "ue", $str);
>
> die Umlaute fallen mit raus.
>
> Habe dann mal versucht mit
>
> $str = preg_replace("/ä/", "ue", $str);
>
> die Umlaute auszutauschen. Passiert aber überhaupt nix... :-(
>
> Kann mir vielleicht jemand weiter helfen...
>
> viele Grüße
> Frank
Re: preg_replace und Umlaute
am 23.10.2006 22:42:10 von Ulf Kadner
Frank Heidig schrieb:
> kleiner Fehler...muss lauten:
> $str = preg_replace("/[^a-z üöä]/i", "", $str);
>
> aber irgendwie werden die Umlaute nicht genommen... :-(
Kann ich nicht bestätigen! Funktioniert wie gewollt.
$str = 'abö.ü-! cdä.e12fg.';
echo preg_replace("/[^a-z üöä]/i", "", $str);
Output ist 'aböü cdäefg' also alles OK
MfG, Ulf
Re: preg_replace und Umlaute
am 24.10.2006 09:56:43 von sk
Frank Heidig schrieb:
> $str = preg_replace("/ä/", "ue", $str);
>
> die Umlaute auszutauschen. Passiert aber überhaupt nix... :-(
Sind die Zeichensätze deines Editors und des eingehenden Requests
kompatibel?
geht $str = preg_replace("/ä/u", "ue", $str)?
Also einmal im PHP Manual nach locale suchen und alle Einstellungen
diesbezüglich prüfen.
Jörg
Re: preg_replace und Umlaute
am 26.10.2006 12:06:11 von Frank Heidig
Hallo,
erstmal danke für Eure Antworten!
> geht $str = preg_replace("/ä/u", "ue", $str)?
da passiert folgendes, das wenn im String ein Umlaut ist, alle anderen
Zeichen auch nicht mehr raus genommen werden (Zahlen und so bleiben also
im String). werde mir das mit locale nochmal in Ruhe anschauen.
Viele Grüße
Frank
Jörg Singendonk schrieb:
> Frank Heidig schrieb:
>
>> $str = preg_replace("/ä/", "ue", $str);
>>
>> die Umlaute auszutauschen. Passiert aber überhaupt nix... :-(
>
> Sind die Zeichensätze deines Editors und des eingehenden Requests
> kompatibel?
>
> geht $str = preg_replace("/ä/u", "ue", $str)?
>
> Also einmal im PHP Manual nach locale suchen und alle Einstellungen
> diesbezüglich prüfen.
>
> Jörg