Neueste Web-Entwicklung Tutorials
 

PHP htmlspecialchars() Function

<PHP String Referenz

Beispiel

Konvertieren Sie die vordefinierten Zeichen "<" (less than) und ">" (greater than) in HTML - Entitäten:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>

Die HTML - Ausgabe des Codes oben wird (View Source) :

<!DOCTYPE html>
<html>
<body>
This is some &lt;b&gt;bold&lt;/b&gt; text.
</body>
</html>

Der Browser Ausgabe des obigen Code wird sein:

This is some <b>bold</b> text.
Führen Sie zB »

Definition und Verwendung

Die htmlspecialchars() Funktion wandelt einige vordefinierte Zeichen in HTML - Entitäten.

Die vordefinierten Zeichen sind:

  • & (ampersand) wird & amp;
  • " (double quote) wird & quot;
  • ' (single quote) wird & # 039;
  • < (less than) wird & lt;
  • > (greater than) wird & gt;

Tipp: Um spezielle HTML - Entitäten zurück in Buchstaben zu umwandeln, verwenden Sie die htmlspecialchars_decode() Funktion.


Syntax

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

Parameter Beschreibung
string Erforderlich. Gibt die Zeichenfolge zu konvertieren
flags Optional. Gibt an, wie zitiert, ungültige Codierung und den verwendeten Dokumenttyp zu handhaben.

Die zur Verfügung stehende Zitat Stile sind:

  • ENT_COMPAT - Standard. Codiert nur doppelte Anführungszeichen
  • ENT_QUOTES - Codiert doppelte und einfache Anführungszeichen
  • ENT_NOQUOTES - Ist kodieren keine Anführungszeichen

Ungültige encoding:

  • ENT_IGNORE - Ignoriert ungültige Codierung statt, die die Funktion einen leeren String zurück. Sollte vermieden werden, da sie Auswirkungen auf die Sicherheit haben.
  • ENT_SUBSTITUTE - ersetzt ungültige Codierung für einen bestimmten Zeichensatz mit einem Unicode Ersatzzeichen U + FFFD (UTF-8) oder & # FFFD; statt einen leeren String zurück.
  • ENT_DISALLOWED - ersetzt Codepunkte , die in der angegebenen doctype mit einem Unicode Ersatzzeichen U + FFFD ungültig sind (UTF-8) oder & # FFFD;

Zusätzliche Flags für die verwendete Doctype festgelegt wird:

  • ENT_HTML401 - Standard. Handle-Code als HTML 4.01
  • ENT_HTML5 - Griff Code als HTML 5
  • ENT_XML1 - Handle Code als XML 1
  • ENT_XHTML - Griff Code als XHTML
character-set Optional. Ein String, der angibt, welcher Zeichensatz verwendet werden.

Zulässige Werte sind:

  • UTF-8 - Standard. ASCII-kompatibele Multi-Byte-8-Bit-Unicode
  • ISO-8859-1 - Westeuropa
  • ISO-8859-15 - Westeuropa (ergänzt die Euro-Zeichen + Französisch und Finnisch Buchstaben in ISO-8859-1 fehlen)
  • cp866 - DOS-spezifische Kyrillisch charset
  • CP1251 - Windows-spezifische Kyrillisch charset
  • cp1252 - Windows-spezifische charset für Westeuropa
  • KOI8-R - Russisch
  • BIG5 - Traditionelles Chinesisch, hauptsächlich in Taiwan verwendet
  • GB2312 - Vereinfachtes Chinesisch, nationale Standard-Zeichensatz
  • BIG5-HKSCS - Big5 mit Hong Kong-Erweiterungen
  • Shift_JIS - Japanisch
  • EUC-JP - Japanisch
  • MacRoman - Character-Set, das von Mac OS verwendet wurde

Note: Nicht erkannte Zeichen-Sets ignoriert und nach ISO-8859-1 in Versionen vor PHP 5.4 ersetzt werden. Ab PHP 5.4 wird es eine von UTF-8 ersetzt werden ignoriert.

double_encode Optional. Ein boolescher Wert, der angibt, ob die bestehenden HTML-Entitäten zu codieren oder nicht.
  • TRUE - Standard. Wird alles konvertieren
  • FALSCH - codieren Wird nicht vorhandene HTML-Entities

Technische Details

Rückgabewert: Gibt die konvertierte Zeichenfolge

Wenn die Zeichenfolge ungültig Codierung enthält, wird es einen leeren String zurück, es sei denn , entweder die ENT_IGNORE oder ENT_SUBSTITUTE Flags gesetzt sind
PHP Version: 4+
Änderungsprotokoll: Der Standardwert für den Zeichensatz-Parameter wurde in UTF-8 geändert in PHP 5

ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 und ENT_XHTML wurden in PHP 5.4 hinzugefügt

ENT_IGNORE wurde in PHP 5.3 hinzugefügt

Der double_encode Parameter wurde in PHP 5.2.3 hinzugefügt

Der Zeichensatz Parameter wurde in PHP 4.1 hinzugefügt

Mehr Beispiele

Beispiel 1

Konvertieren Sie einige vordefinierte Zeichen in HTML-Entitäten:

<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>

Die HTML - Ausgabe des Codes oben wird (View Source) :

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

Der Browser Ausgabe des obigen Code wird sein:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Führen Sie zB »

Beispiel 2

Konvertieren Sie doppelte Anführungszeichen in HTML-Entitäten:

<?php
$str = 'I love "PHP" .';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>

Die HTML - Ausgabe des Codes oben wird (View Source) :

<!DOCTYPE html>
<html>
<body>
I love &quot;PHP&quot;.
</body>
</html>

Der Browser Ausgabe des obigen Code wird sein:

I love "PHP" .
Führen Sie zB »

<PHP String Referenz