Umlaute im Dateinamen
21.03.2005
Die Namen der durch Movable Type generierten Dateien ergeben sich aus dem Titel eines Eintrags. Dabei werden die Umlaute nicht gut unterstützt. Es wäre aber vorteilhaft, wenn die 2-buchstabigen Darstellungen ("ae" statt "ä") in den Dateinamen einfließen würden.
Das dirifyplus Plugin
Im Eintrag Unterstrich oder Bindestrich? habe ich das »dirifyplus« Plugin beschrieben und gezeigt, wie man dieses einsetzen kann, um Google-freundliche Dateinamen zu generieren. Es hat nur den kleinen Nachteil, dass dieses keine Umlaute unterstützt.
Der Quelltext des Plugins liegt vor. Ich kann zwar kein Perl, aber als Software-Entwickler sollte man das doch irgendwie hinbekommen.
Erweiterung des Plugins
Öffnen Sie die Datei »dirifyplus.pl« mit einem Editor. Direkt am Anfang sehen Sie die folgenden Zeilen
my $t = $_[1];
my $a = substr($t, 0, 1);
my $b = substr($t, 1, 1);
my $c = substr($t, 2, 1);
my $s = $_[0];
Wenn man etwas Programmiererfahrung hat, kann man erahnen, dass zwei Variablen $s und $t mit den der Funktion übergebenen Parametern intialisiert werden. Offensichtlich enthält $s denjenigen Texte, der in einen Dateinamen umgewandelt werden soll. Und $t enthält das Argument, welches diesen Umwandlungsvorgang steuert. Anschließend wird (hier nicht sichtbar) diese Variable $s verändert. Und bevor diese Veränderungen stattfinden, ist es gut, die eigenen Umlaut-Ersetzungen zu erledigen.
Blättert man etwas durch den Quellcode hindurch, sieht man genügend Beispiele dafür, wie im Perl offensichtlich Ersetzungen in einem String durchgeführt werden.
Fügen Sie im Anschluss an die obigen Zeilen folgendes hinzu.
$s =~ s!ä!ae!g; ## ä --> ae
$s =~ s!ö!oe!g; ## ö --> oe
$s =~ s!ü!ue!g; ## ü --> ue
$s =~ s!Ä!Ae!g; ## Ä --> Ae
$s =~ s!Ö!Oe!g; ## Ö --> Oe
$s =~ s!Ü!Ue!g; ## Ü --> Ue
$s =~ s!ß!ss!g; ## ß --> ss
Durch die sieben Zuweisungen werden in der Variablen $s nacheinander die darin vorkommenden Umlaute durch die entsprechenden 2-buchstabigen Darstellungen ersetzt.
Speichern Sie die Datei »dirifyplus.pl« unter dem gleichen Dateinamen ab. Achten Sie darauf, dass Sie die Datei als UTF-8 Datei speichern. Ich empfehle auch, dass die Datei ohne das BOM gespeichert wird. Näheres hierzu finden Sie in meinem Eintrag Merkwürdige Zeichen in generierten Dateien.
mgs | 21.03.2005
Feedback erwünscht!
Wie fanden Sie den Eintrag? Interessant? Langweilig? Ich freue mich über Ihren Kommentar. Wenn Ihnen der Eintrag geholfen hat, setzen Sie doch einen Link auf http://www.movable-type-weblog.de/.
Bitte keinen Spam
Um das Weblog vor Spam zu schützen, wird das MT-Approval Plugin eingesetzt. Sie müssen einen neuen Kommentar zunächst in der Vorschau ansehen, bevor dieser auf dem Server gespeichert werden kann. Ferner wird ein Kommentar erst gesichtet, bevor er freigegeben wird. Näheres finden Sie in meinem Artikel Weblog Spamming Grundlagen, wo einige Schutzmaßnahmen skizziert werden.
Wenn Sie sich an TypeKey angemeldet haben, wird Ihr Kommentar automatisch freigegeben.
Neuen Kommentar schreiben
TypeKey wurde an dieser Stelle vorübergehend deaktiviert. Erstellen Sie Ihren Kommentar bitte ohne TypeKey oder melden Sie sich im Vorschau-Dialog an.
Kommentar
Susanne Kellermann | 20.04.05 13:30
Der Artikel kam zum richtigen Zeitpunkt. Ich hatte mich gerade über dieses Problem geärgert. Dann habe ich Dein Weblog im Google gefunden. Weiter so!
Kommentar
Martin | 21.11.05 17:08
Danke! Ich hatte mich schon selbst am Quellcode versucht aber bin an der Perlsyntax gescheitert. Nun funktionert es wie es sollte.

