HTML-Entities
gunter
- php
Hallo,
wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben? Also z.B.
<em>Grüße</em> zu <em>Grüße</em>
Hallo,
wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben? Also z.B.
<em>Grüße</em> zu <em>Grüße</em>
HTML-Entities war schon das richtige Stichwort :).
Die Funktion heisst:
string htmlentities ( string $string [, int $quote_style [, string $charset [, bool $double_encode ]]] )
Genaueres findest du unter:
http://de2.php.net/htmlentities
Ciao,
Layna
Moin!
wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben? Also z.B.
<em>Grüße</em> zu <em>Grüße</em>HTML-Entities war schon das richtige Stichwort :).
Die Funktion heisst:
string htmlentities ( string $string [, int $quote_style [, string $charset [, bool $double_encode ]]] )
Die Funktion wandelt aber nicht nur Umlaute, sondern auch die Zeichen, die HTML-Tags bilden, in Entities um, und genau das war nicht gewünscht.
- Sven Rautenberg
Moin!
wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben?
Wozu das denn? Entities sind nur dann notwendig, wenn das gewünschte Zeichen in der aktuellen Codierung des Dokuments nicht dargestellt werden kann. Das ist bei Umlauten allerdings nur sehr selten der Fall, wenn man einmal die üblichen westeuropäischen Codierungen wie ISO-8859-1, ISO-8859-15, Windows-1252 oder UTF-8 betrachtet.
Wenn du also keine Änderungen an der Zeichencodierung vornimmst, ist es das beste, auch die Umlaute einfach direkt auszugeben, nicht als Entity.
<em>Grüße</em> zu <em>Grüße</em>
Das erste Beispiel ist gültiger HTML-Code, das zweite Beispiel ist nicht "besser".
- Sven Rautenberg
Moin!
wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben?
Wozu das denn?
Der Firefox hat mir auf meinem lokalen System Unsinn angezeigt, lag aber wohl an einem Fehler bei der ISO-Kodierung. Und ich dachte mir, eine Kovertierung kann zumindest nix schaden...
Entities sind nur dann notwendig, wenn das gewünschte Zeichen in der aktuellen Codierung des Dokuments nicht dargestellt werden kann. Das ist bei Umlauten allerdings nur sehr selten der Fall, wenn man einmal die üblichen westeuropäischen Codierungen wie ISO-8859-1, ISO-8859-15, Windows-1252 oder UTF-8 betrachtet.
Wenn du also keine Änderungen an der Zeichencodierung vornimmst, ist es das beste, auch die Umlaute einfach direkt auszugeben, nicht als Entity.
<em>Grüße</em> zu <em>Grüße</em>
Das erste Beispiel ist gültiger HTML-Code, das zweite Beispiel ist nicht "besser".
- Sven Rautenberg
@@gunter:
Der Firefox hat mir auf meinem lokalen System Unsinn angezeigt, lag aber wohl an einem Fehler bei der ISO-Kodierung. Und ich dachte mir, eine Kovertierung kann zumindest nix schaden...
Es schadet wohl immer, einen Fehler kaschieren zu wollen anstatt ihn zu beseitigen.
Live long and prosper,
Gunnar
PS: Sei bitte kein Vollquottel!
Moin!
wie kann ich per PHP einen Text-String so konvertieren, dass Umlaute etc. in die entsprechenden HTML-Entities umgewandelt werden, aber HTML-Tags unverändert bleiben?
Wozu das denn?
Der Firefox hat mir auf meinem lokalen System Unsinn angezeigt, lag aber wohl an einem Fehler bei der ISO-Kodierung. Und ich dachte mir, eine Kovertierung kann zumindest nix schaden...
Meta-Tags helfen bei lokalen Problemen. Wenn ein HTTP-Server im Spiel ist, fügt der oftmals Codierungsangaben in den HTTP-Header ein, und übernimmt dabei oft auch die Meta-Angabe des Dokuments.
- Sven Rautenberg