Umlaute in HTML-Sequenzen

Hallo Liste,

ich habe teilweise Probleme damit, die Umlaute im HTML in allen
Browsern (teste meist bis runter zu Version 5 des IE) darzustellen.
Gibt es was in Spip eingebautes, um z.B. ö in &öuml; umzuschreiben?

Wenn nein: Filter kann ich auch eben schreiben. Gibt es dann eine
Möglichkeit, einen Filter so einzubauen, dass ich kein Template
anfassen muss? Evtl. eine mächtige Variable/Funktion in mes_fonctions?

Dank & schönes WE,
Peter

Hallo Peter,

die Umlaut-Probleme können zwei Ursachen haben:

1. Du verwendest SPIP mit UTF-8 Kodierung. Damit haben manche (besonders alte) Browser Probleme. Wenn Deine Site noch neu ist, kannst Du in den Sprachoptionen einen anderen Zeichensatz eintragen (z.B. iso-8859-1).

2. Du verwendest eigene Templates und hast den verwendeten Zeichensazu nicht im Header Deiner Seiten eingetragen. Schau u.U. mal bei Selfhtml (http://www.selfhtml.org/) nach, wie das geht.

SPIP ermöglicht es, den verwendeten Zeichensatz automatisch in den Seitenkopf einzutragen. Dazu dient der SPIP-Tag #CHARSET. In den Standard-Templates solltest Du Beispielcode dafür finden.

Ansonsten kennt SPIP eine Reihe Konvertierungsfunktionen für Zeichenketten, Du kannst aber auch sämtliche PHP-Funktionen zum Filtern verwenden. Die Syntax lautet dann [(#TEXTE|php_function)].

Die SPIP Funktionen für Zeichenketten sind in diesem Artikel dokumentiert:
http://www.spip.net/de_article2582.html
Seit der letzten Aüberarbeitung sind noch Funktionen zum Einsatz von regulären Ausdrücken hinzugekommen - vielleicht kannst Du Dir mit ihnen einen Filter bauen, der Dein Problem löst. Das würde ich aber erst machen, wenn alles andere versagt:

texte_backend -> macht Text im XML-Format verwendbar (z.B. in RSS-Feeds)

couper -> kürzt Text auf ca. Zeichen Syntax: [(#TEXTE|couper{20})] ergibt einen maximal 20 Zeichen langen Text.

lignes_longues -> beschneidet zu lange Zeilen
Syntax: [(#URL_SITE|lignes_longues{40})] ohne Parameter wird bei 70 Zecihen abgeschnitten.

match - > ermöglicht mit einer simplen Zeichenkette oder einem regulären Ausdruck einen Text aus das Vorhandensein einer Zeichenkette zu prüfen. Wenn vorhanden, wird die Zeichenkette zurückgegeben, wenn nicht wird nichts zurückgegeben.
Syntax: [(#TITRE|match{^\w+})] extrahiert das erste Wort des Titels

replace -> funktioniert ähnlich, jedoch werden hier bei Vorhandensein eines zweiten Parameters alle Vorkommnisse des ersten durch den Wert des Zweiten ersetzt.
Syntax: [(#TEXTE|replace{200[56],2007})] ersetzt alle Vorkommnisse von 2005 und 2006 durch 2007

grusz, klaus++

Peter Reimer schrieb:

Hallo Liste,

ich habe teilweise Probleme damit, die Umlaute im HTML in allen
Browsern (teste meist bis runter zu Version 5 des IE) darzustellen.
Gibt es was in Spip eingebautes, um z.B. ö in &öuml; umzuschreiben?

Wenn nein: Filter kann ich auch eben schreiben. Gibt es dann eine
Möglichkeit, einen Filter so einzubauen, dass ich kein Template
anfassen muss? Evtl. eine mächtige Variable/Funktion in mes_fonctions?

Dank & schönes WE,
Peter

_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de