Zum Inhalt springen

Umlaute mit Typoscript ersetzen

Erstellt am 11. Oktober 2005 · 8 Antworten · letzte Antwort am 11. Oktober 2005

Tags: Frage

b.​kraus ·

Hallo!

Für ein grafisches Menü mit einer Schriftart, die keine Umlaute unterstützt, möchte ich alle Umlaute im title der Seite durch "ae", "ue" etc. ersetzen. Eigentlich sollte das der folgende Code erledigen:

<snip>
20 = TEXT
20 {
text {
field = title
parseFunc.short {
ä = ae
ö = oe
ü = ue
ß = ss
}
...
}
</snip>

Wie der Template-Analyzer aber meint, darf ich keine Sonderzeichen in TS verwenden - gut. Aber wie kann ich die Ersetzung der Umlaute im Titel trotzdem vornehmen bzw. wie schreibe ich diese in TS so, dass der Parser nicht meckert?

Grüße
Björn

b.​kraus ·

Sorry, aber das verstehe ich nicht. Meinst du, ich sollte die Umlaute statt über die Tasten auf der Tastatur über ALT+xxx in den Editor eingeben? Das würde keinen Sinn ergeben...

Aber gibt es eine Möglichkeit, die Umlaute über Hex oder ähnliches in TS einzutragen?

Grüße
Björn

einpraegsam.​net ·

Sorry, mein Fehler - du sollst den Ascii Code nehmen - also ungefähr so:

ä = &auml_;
ü = &uuml_;
ö = &ouml_;

Nachtrag: Natürlich ohne Unterstrich "_"

b.​kraus ·

Ach, du meintest den HTML-Code :o

Nun, damit habe ich aber noch nicht das eigentliche Problem gelöst, dass der TS-Parser die Zeile nicht akzeptiert, weil ja auf der linken Seite des Gleichheitszeichens immer noch "ä" o.ä. steht #angry#

... weiter offen für Vorschläge.

Grüße
Björn

fuss ·

hehe
überdenk nochmal, was denn nun auf die Linke Seite soll 😉
Ich weiss allerdings nicht, ob das geht, ich denke eher, das der parser dann nach solch einer Zeichenkette sucht (also &uuml_😉, aber einfach mal probieren.

gruss, fuss

b.​kraus ·

Hallo!

Also, ersetzt werden sollen - ganz klar - Umlaute (ä,ö,ü und ß) durch ae, oe, usw.
Das Problem ist IMHO der TS-Parser, der Zeichen außerhalb von [A-Za-z0-9] (=[alnum], s. entsprechende ereg-Funktion im Quellcode) nicht akzeptiert.
Wenn ich also statt

ä = ae
ä = &auml_;

schreibe, ändert das nichts am eigentlichen Problem (im Gegenteil: wahrscheinlich meckert der Parser dann auch wg. dem &-Zeichen 😢 ).

OK, nächster Versuch ...

Björn

SLAng ·

ja, aber da würde doch dann stehen;

<snip>
   20 = TEXT
   20 {
      text {
      field = title
      parseFunc.short {

         &auml_; = ae
         &ouml_; = oe
         &uuml_; = ue
         &szlig_; = ss
      }
 ...
   }
</snip>

Natürlich wieder ohne die Unterstriche

b.​kraus ·

OK, ihr glaubt es mir ja sonst eh nicht: Ich habe die ä,ü etc. durch ihre HTML-Repräsentaten ersetzt. Hier das Ergebnis des Template Analyzers:

ä = ae - ERROR: Line 1721: Object Name String, "&auml;" contains invalid character "&". Must be alphanumeric or one of: "_-."

Das "ä" im Fehlercode ist natürlich &auml_; (das mit dem Unterstrich ist irgendwie blöd 🙁 )