PHP htmlentities()Funktionen

PHP String 参考手册PHP-String-Referenzhandbuch

Beispiele

Einige Zeichen in HTML-Entitäten umwandeln:

<?php
$str = "<© W3CSçh°°¦§>";
echo htmlentities($str);
?>

Die HTML-Ausgabe des obigen Codes ist wie folgt (Quelltext anzeigen):

<!DOCTYPE html>
<html>
<body>
&lt;&copy; W3CS&ccedil;h&deg;&deg;&brvbar;&sect;&gt;
</body>
</html>

Die Browser-Ausgabe des obigen Codes lautet wie folgt:

<© W3CSçh°°¦§>

Beispiel ausführen »

Definition und Verwendung

Die Funktion htmlentities() wandelt Zeichen in HTML-Entitäten um.

Tipp:Um HTML-Entities zurück in Zeichen umzuwandeln, verwenden Sie diehtml_entity_decode()Funktion.

Tipp:Bitte verwenden Sie die get_html_translation_table()Funktion, um die von htmlentities() verwendete Übersetzungstabelle zurückzugeben.


Syntax

htmlentities(string,flags,character-set,double_encode)

Parameter Beschreibung
string Erforderlich. Gibt die zu konvertierende Zeichenfolge an.
Flags Optional. Legt fest, wie mit Anführungszeichen, ungültiger Kodierung und dem zu verwendenden Dokumenttyp umgegangen wird.

Verfügbare Anführungszeichen-Typen:

  • ENT_COMPAT - Standard. Kodiert nur doppelte Anführungszeichen.
  • ENT_QUOTES - Kodiert doppelte und einfache Anführungszeichen.
  • ENT_NOQUOTES - Kodiert keine Anführungszeichen.

Ungültige Kodierung:

  • ENT_IGNORE - Ignoriert ungültige Kodierung, anstatt dass die Funktion eine leere Zeichenkette zurückgibt. Dies sollte vermieden werden, da es Sicherheitsimplikationen haben kann.
  • ENT_SUBSTITUTE - Ersetzt ungültige Kodierung durch ein bestimmtes Zeichen, das das Unicode-Ersatzzeichen U+FFFD (UTF-8) oder &#FFFD; enthält, anstatt eine leere Zeichenkette zurückzugeben.
  • ENT_DISALLOWED - Ersetzt ungültige Codepunkte im angegebenen Dokumenttyp durch das Unicode-Ersatzzeichen U+FFFD (UTF-8) oder &#FFFD;.

Zusätzliche Flags, die den zu verwendenden Dokumenttyp angeben:

  • ENT_HTML401 - Standard. Code als HTML 4.01 behandeln.
  • ENT_HTML5 - Code als HTML 5 behandeln.
  • ENT_XML1 - Code als XML 1 behandeln.
  • ENT_XHTML - Code als XHTML behandeln.
Zeichensatz Optional. Eine Zeichenfolge, die den zu verwendenden Zeichensatz angibt.

Zulässige Werte:

  • UTF-8 - Standard. ASCII-kompatibler 8-Bit-Unicode mit Mehrbyte-Zeichen
  • ISO-8859-1 - Westeuropäisch
  • ISO-8859-15 - Westeuropäisch (ergänzt das Euro-Zeichen + französische und finnische Buchstaben, die in ISO-8859-1 fehlen)
  • cp866 - DOS-spezifischer kyrillischer Zeichensatz
  • cp1251 - Windows-spezifischer kyrillischer Zeichensatz
  • cp1252 - Windows-spezifischer westeuropäischer Zeichensatz
  • KOI8-R - Russisch
  • BIG5 - Traditionelles Chinesisch, hauptsächlich in Taiwan verwendet
  • GB2312 - Vereinfachtes Chinesisch, nationaler Standardzeichensatz
  • BIG5-HKSCS - Big5 mit Hongkong-Erweiterungen
  • Shift_JIS - Japanisch
  • EUC-JP - Japanisch
  • MacRoman - Von Mac-Betriebssystemen verwendeter Zeichensatz

Hinweise:In Versionen vor PHP 5.4 werden nicht erkannte Zeichensätze ignoriert und durch ISO-8859-1 ersetzt. Ab PHP 5.4 werden nicht erkannte Zeichensätze ignoriert und durch UTF-8 ersetzt.

double_encode Optional. Ein boolescher Wert, der angibt, ob vorhandene HTML-Entities kodiert werden sollen.
  • TRUE - Standard. Konvertiert jede Entity.
  • FALSE - Vorhandene HTML-Entities werden nicht kodiert.

Technische Details

Rückgabewert: Gibt die konvertierte Zeichenfolge zurück.

Wennstringeine ungültige Kodierung enthält, wird eine leere Zeichenkette zurückgegeben, es sei denn, das Flag ENT_IGNORE oder ENT_SUBSTITUTE ist gesetzt.
PHP-Version: 4+
Änderungsprotokoll: In PHP 5, wurde der Standardwert des Parameterscharacter-setauf UTF-8 geändert.

In PHP 5.4 hinzugefügt: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 und ENT_XHTML.

In PHP 5.3 wurde ENT_IGNORE hinzugefügt.

In PHP 5.2.3 wurde derdouble_encodeParameter hinzugefügt.

In PHP 4.1 wurde dercharacter-setParameter hinzugefügt.


Weitere Beispiele

Beispiel 1

Einige Zeichen in HTML-Entitäten umwandeln:

<?php
$str = "Jane & 'Tarzan'";
echo htmlentities($str, ENT_COMPAT); // Konvertiert nur doppelte Anführungszeichen
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // Konvertiert doppelte und einfache Anführungszeichen
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // Konvertiert keine Anführungszeichen
?>

Die HTML-Ausgabe des obigen Codes ist wie folgt (Quelltext anzeigen):

<!DOCTYPE html>
<html>
<body>
Jane &amp; 'Tarzan'<br>
Jane &amp; &#039;Tarzan&#039;<br>
Jane &amp; 'Tarzan'
</body>
</html>

Die Browser-Ausgabe des obigen Codes lautet wie folgt:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'

Beispiel ausführen »

Beispiel 2

Wandeln Sie einige Zeichen mithilfe des westeuropäischen Zeichensatzes in HTML-Entities um:

<?php
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Konvertiert nur doppelte Anführungszeichen (nicht einfache Anführungszeichen) und verwendet den Zeichensatz Westeuropäisch
?>

Die HTML-Ausgabe des obigen Codes ist wie folgt (Quelltext anzeigen):

<!DOCTYPE html>
<html>
<body>
Mein Name ist &Oslash;yvind &Aring;sane. Ich bin Norweger.
</body>
</html>

Die Browser-Ausgabe des obigen Codes lautet wie folgt:

Mein Name ist Øyvind Åsane. Ich bin Norweger.

Beispiel ausführen »


PHP String 参考手册PHP-String-Referenzhandbuch Weitere Erweiterungen