phpbar.de logo

Mailinglisten-Archive

[php] Regex Umlaute in *doc Dateien

[php] Regex Umlaute in *doc Dateien

Yannik Hampe yannik at cipher-code.de
Mit Okt 24 14:29:29 CEST 2007



Gemander, Ronny wrote:
> Hallo Liste,
> 
> Ich habe ein DMS geschrieben, welches er unter anderem ermöglicht, 
> Windows Word Dateien hochzuladen.
> 
> Nun macht sich der gemeine Anwender ja keinerlei Gedanken um einen 
> Dateinamen und nennt seine Datei meinetwegen "Übersicht grüner Gurken 
> für Döner.doc"
> 
> Ein preg_replace('/ü/','ue',$filename); bringt irgendwie nicht so sehr 
> viel, weil die Umlaute im Dateinamen ein anderes, mir unbekanntes, 
> Format haben.
> 
> Kennt sich da wer aus, welchen regex man nehmen könnte, groß-, und auch 
> klein geschriebene Umlaute zu ersetzen? Den Regex für die Leerzeichen 
> hab ich schon.

Dafür ein regex zu nehmen ist -tut mir leid- ein echt blöde Idee. Das 
ist langsam und machts nichts anderes als ein str_replace in diesem Fall 
auch tun würde.
Was dein Zeichensatzproblem betrifft hast du wahrscheinlich nur 
iso-8559-1 und utf-8. Die sicherste Lösung um alle üs zu ersetzen wäre 
dann wohl:
str_replace(array("\x81","\x0\xfc"),'ue',$dateiname);
Vorrausgesetzt ich war jetzt gerade in der Lage die hex Zahlen korrekt 
von diesen beiden Seite abzulesen:
http://www.asciitable.com/
http://www.unicode.org/charts/PDF/U0080.pdf
;-).
Mit der Lösung musst du dir dann auch keine Gedanken mehr darüber 
machen, ob deine php-Datei in unicode oder in iso-8559-1 encodiert ist.
> 
> Vielen Dank für eure Hilfe.
> 
> Gruß, Ronny

Yannik

php::bar PHP Wiki   -   Listenarchive