Sie sind hier: Startseite -> PHP-Grundlagen -> HTML-Zeichen (htmlentities)

Mit PHP und htmlentities Sonderzeichen umwandeln

HTML-Codes in den Quellcode einarbeiten

Bekanntlich gibt es Sonderzeichen, Umlaute und die HTML-Befehle selbst, mit denen man sich als Programmierer bei PHP herumschlagen muss, wenn es sich um eine Internetseite handelt, bei der Leute aktiv mitwirken können.

Eine solche Situation ist beispielsweise bei einem Forum denkbar, in dem mit Fettschrift und anderen erlaubten Befehlen der Eintrag verschönert wird. Noch öfter kommt es bei Seiten vor, bei denen die Leute ihre Produkte anbieten wollen - eine Immobilienplattform wäre denkbar oder auch ein Auktionshaus. Nur möchte man die HTML-Befehle nicht aktiv belassen und dann ist eine Umwandlungsfunktion gefragt.

Sonderzeichen dank htmlentities als HTML-Codes verarbeiten

<?php
$beispieltext = "Schöne Grüße aus Griechenland";
echo $beispieltext."
";
echo htmlentities($beispieltext);
?>

ergibt:

Schöne Grüße aus Griechenland
Schöne Grüße aus Griechenland

Mit dem PHP-Befehl htmlentities werden die HTML-Befehle umgewandelt. Dafür hätte man auch den oft eingesetzten Befehl html_specialchars verwenden können, der genauso genutzt wird wie im Beispiel htmlentities.

Der wesentliche Unterschied besteht nur darin, dass htmlentities auch die Umlaute überarbeitet, was aber nur im Quelltext erkennbar ist. Hier sieht man nämlich, dass das normal angezeigte ö als HTML-Code codiert wird. Damit gibt es keine Probleme mit den Umlauten, wenn man global agieren will.

Diese Befehle werden eigentlich nur dann eingesetzt, wenn externe Texte geliefert werden und diese möglicherweise Sonderzeichen enthalten. Auch HTML-Codes werden unterdrückt, damit das Layout der Seite nicht zerstört wird, wenn die hochgeladenen Texte aus der Datenbank abgerufen und online dargestellt werden.

PHP-Befehl htmlentities in der Praxis

Der letzte Hinweis stimmt nur mehr zum Teil. Wenn man eine deutsche Seite betreibt und den Zeichensatz für den deutschsprachigen Raum nutzt, hat man keine Probleme mit Umlaute. Jedoch arbeiten die Datenbank unter MySQLi fast nur noch mit utf8 und das ist auch der globale Code. Selbst eine rein deutschsprachige Seite etwa aus Österreich oder Deutschland wird von Nordamerikaner, Chinesen oder sonstigen Menschen gesehen und/oder gelesen. Daher macht die Codierung mit UTF-8 Sinn und die meisten Systeme wie etwa auch CMS nutzen diese Zeicheneinstellung.

Das heißt, dass Umlaute immer codiert sind und das erkennt der Profi am Quellcode, wo man nie ein scharfes ß sehen wird, sondern stattdessen den Code ß als entsprechende Codierung. So kann die ganze Welt den Text richtig anzeigen.

Daher nutzt man etwa bei Formularen den Ausdruck htmlentities($text) für einen eingegebenen Text, wodurch alle normalen Umlaute in HTML-Codes übersetzt werden.

Lesen Sie auch

PHP + Text ist ein sehr wichtiges Thema in vielen Skripte, die mit PHP programmiert werden. Denn man hat es oft mit Text zu tun, den externe Personen in Formulare eingeben - inklusive in Redaktionssysteme. Der Text soll aber perfekt aussehen und daher braucht es Werkzeuge, um ihn zu hinterfragen, zu kürzen, zu ersetzen oder überhaupt zu löschen.

Die Basiswerkzeuge können dabei helfen, dass man unnötige Leerzeichen in die Wüste schickt oder dass man den Text in Großbuchstaben umwandelt - vollkommen automatisch, versteht sich. Auch die Aufteilung eines vorgegebenen Textes mittels explode in ein Array ist als Voraussetzung für weitere Bearbeitungen wichtig.

Und dann gibt es noch viele weitere Möglichkeiten, was mit dem Text gemacht werden kann. Man kann mit substr den Text auf die gewünschte Länge kürzen, man kann aber auch eine Abfrage durchführen, ob der Text eine bestimmte Zeichenkette beinhaltet. Mit str_replace kann man überhaupt gleich den Text ersetzen oder löschen und mit htmlentities die Sonderzeichen codieren.

Themenseiten

Diesen Artikel teilen

Infos zum Artikel

HTML-Zeichen mit htmlentitiesArtikel-Thema: Mit PHP und htmlentities Sonderzeichen umwandeln
Beschreibung: Mit dem Befehl ✅ htmlentities in PHP ist es möglich, die Sonderzeichen in ✅ HTML-Codes umwandeln zu lassen, wodurch Darstellungsfehler vermieden werden können.

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel