PHP htmlentities() ist eine Funktion, die dazu dient, Zeichen in HTML-Entitäten zu konvertieren. Hierbei handelt es sich um Zeichen, die in HTML-Dokumenten vorkommen und spezifische Bedeutungen besitzen.
Es gibt zwei PHP-Funktionen, die häufig zum Konvertieren von Zeichen in HTML-Entitäten verwendet werden: htmlspecialchars() und htmlentities(). Die beiden Funktionen sind in ihrer Funktionsweise ähnlich, aber es gibt einige wichtige Unterschiede, die berücksichtigt werden müssen.
Die htmlspecialchars() Funktion konvertiert bestimmte Zeichen, die in HTML-Code nicht gültig sind, in HTML-Entitäten. Dazu gehören "&", "<" und ">". Diese Funktion übersetzt sie in Entitäten, die im HTML-Code als Lesbarkeit dargestellt werden. Dies ist nützlich, um HTML-Code sicherzumachen, da der Browser die HTML-Entitäten als ungültiges Zeichen interpretiert, anstatt als HTML-Code.
Die htmlentities() Funktion ähnelt der htmlspecialchars() Funktion, konvertiert aber alle Zeichen, die in HTML-Code nicht gültig sind, in HTML-Entitäten. Wenn Ihr Quelltext also Sonderzeichen oder andere Zeichen enthält, die nicht in HTML gültig sind, konvertiert die htmlentities() Funktion diese in HTML-Entitäten. In diesen Artikel gehe ich auf die Funktion htmlentities() ein.
Die Syntax der Funktion htmlentities lautet:
htmlentities(string, flags, character-set, double_encode)
Parameterbeschreibung:
string: Der zu konvertierende Text
flags: Optionale Flags, die bestimmen, welche Zeichen umgewandelt werden sollen. Der Standardwert ist ENT_COMPAT. Es gibt folgende Flags für die Funktion htmlentities:
- ENT_COMPAT
- Konvertiert nur doppelte Anführungszeichen.
- ENT_QUOTES
- Konvertiert sowohl einfache als auch doppelte Anführungszeichen.
- ENT_NOQUOTES
- Konvertiert keine Anführungszeichen.
- ENT_IGNORE
- Ignoriert nicht konvertierbare Zeichen.
- ENT_SUBSTITUTE
- Ersetzt nicht konvertierbare Zeichen durch ein Ersatzzeichen.
- ENT_DISALLOWED
- Konvertiert nur Zeichen, die in HTML nicht zulässig sind.
- ENT_HTML401
- Konvertiert Zeichen, die in HTML 4.01 vorkommen.
- ENT_HTML5
- Konvertiert Zeichen, die in HTML 5 vorkommen.
- ENT_XML1
- Konvertiert Zeichen, die in XML 1 vorkommen.
- ENT_XHTML
- Konvertiert Zeichen, die in XHTML vorkommen.
character-set: Optionales Zeichensatzargument. Der Standardwert ist: „ISO-8859-1“.
double_encode: optionales Boolean-Argument. Der Standardwert ist true.
Diese Funktion ist nützlich, um HTML-Inhalte vor böswilligen Eingaben zu schützen.
Beispiel:
<?php
$meinevar = "Dies ist mein <strong>Beispieltext</strong>";
echo htmlentities($meinevar);
?>
Das oben angegebene Beispiel würde, Folgendes ausgeben:
Dies ist mein <strong>Beispieltext</strong>
Der HTML-Code in der Variablen $meinevar wird durch die Funktion htmlentities() in eine HTML-Entität umgewandelt.
Wie Sie sehen, wurde das HTML-Tag <strong> durch die Entität <strong> ersetzt.
Beispiel:
<?php
$text = "Dies ist mein Beispieltext";
echo htmlentities($text, ENT_QUOTES, "UTF-8", false);
?>
Dies würde Folgendes ausgeben:
Dies ist mein Beispieltext
In diesem Beispiel werden alle Anführungszeichen (') in HTML-Entitäten umgewandelt. Da wir das double_encode-Argument auf false gesetzt haben, werden bestehende Entitäten nicht noch einmal umgewandelt.
Fazit:
PHP htmlentities() ist eine Funktion, die dazu dient, Zeichen in HTML-Entitäten zu konvertieren. Dies ist nützlich, um HTML-Inhalte vor „Cross-Site-Scripting-Lücken“ zu schützen. Die Syntax der Funktion enthält vier Argumente, die angepasst werden können, um das Verhalten der Funktion zu ändern.
PHP htmlentities(): 10 häufig gestellte Fragen
Die Funktion htmlentities() ist eine nützliche PHP-Funktion, die dazu dient, Zeichen in HTML-Entitäten zu konvertieren. Dies ist nützlich, um HTML-Inhalte vor böswilligen Eingaben zu schützen. In diesem Artikel beantworten wir 10 häufig gestellte Fragen zu dieser Funktion.
- Was tut die Funktion htmlentities()?
- Die Funktion htmlentities() konvertiert Zeichen in HTML-Entitäten. Dies ist nützlich, um HTML-Inhalte vor böswilligen Eingaben zu schützen.
- Welche Parameter enthält die Syntax der Funktion?
- Die Syntax der Funktion htmlentities enthält vier Parameter: string, flags, character-set und double_encode.
- Welchen Wert hat der Parameter flags standardmäßig?
- Der Parameter flags hat standardmäßig den Wert ENT_COMPAT.
- Welchen Wert hat der Parameter double_encode standardmäßig?
- Der Parameter double_encode hat standardmäßig den Wert true.
- Welche Flags gibt es für die Funktion htmlentities()?
- Es gibt folgende Flags für die Funktion htmlentities(): ENT_COMPAT, ENT_QUOTES, ENT_NOQUOTES, ENT_IGNORE, ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 und ENT_XHTML.
- Wie werden bestehende Entitäten behandelt, wenn das double_encode-Argument auf false gesetzt wird?
- Wenn das double_encode-Argument auf false gesetzt wird, werden bestehende Entitäten nicht noch einmal umgewandelt.
- Was passiert, wenn der Parameter flags auf ENT_QUOTES gesetzt wird?
- Wenn der Parameter flags auf ENT_QUOTES gesetzt wird, werden sowohl einfache als auch doppelte Anführungszeichen umgewandelt.
- Was bedeutet der Parameter character-set?
- Der Parameter character-set legt den Zeichensatz fest, der bei der Konvertierung verwendet wird. Der Standardwert ist ISO-8859-1.
- Was passiert, wenn der Parameter flags auf ENT_IGNORE gesetzt wird?
- Wenn der Parameter flags auf ENT_IGNORE gesetzt wird, werden nicht konvertierbare Zeichen ignoriert.
- Wie werden nicht konvertierbare Zeichen behandelt, wenn der Parameter flags auf ENT_SUBSTITUTE gesetzt wird?
- Wenn der Parameter flags auf ENT_SUBSTITUTE gesetzt wird, werden nicht konvertierbare Zeichen durch ein Ersatzzeichen ersetzt.