Bei der Verarbeitung von Webinhalten begegnen wir häufig auf die Notwendigkeit, Sonderzeichen in HTML -Code in Entitäten (wie & to & ) umzuwandeln oder HTML -Entitäten in normale Zeichen wiederherzustellen. PHP bietet zwei sehr praktische Funktionen, um dies zu tun: HTMLENTITYS UND HTML_ENTITY_DECODE .
In diesem Artikel wird die grundlegende Nutzung dieser beiden Funktionen eingeführt und zeigen, wie sie mithilfe von bidirektionaler Konvertierung von HTML -Unternehmen umgesetzt werden können.
Die HTMLentities -Funktion kann einige Sonderzeichen in einer Zeichenfolge in entsprechende HTML -Entitäten umwandeln, wodurch verhindert wird, dass der Browser sie in Tags oder andere Bedeutungen analysiert und die Sicherheit und Formatierung der Seite korrekt schützt.
Funktionsprototyp:
string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )
Einfaches Beispiel:
<?php
$text = "Tom & Jerry's <b>adventure</b>!";
echo htmlentities($text);
// Ausgabe:Tom & Jerry's <b>adventure</b>!
?>
html_entity_decode funktioniert das Gegenteil, es wandelt HTML -Entitäten in die entsprechenden Zeichen zurück.
Funktionsprototyp:
string html_entity_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") ]] )
Einfaches Beispiel:
<?php
$encoded = "Tom & Jerry's <b>adventure</b>!";
echo html_entity_decode($encoded);
// Ausgabe:Tom & Jerry's <b>adventure</b>!
?>
Angenommen, wir haben eine Zeichenfolge, die in die HTML -Entität konvertiert werden muss, um zu speichern, und dann die Entität in Originalzeichen wiederhergestellt werden. Dies kann durch Kombination dieser beiden Funktionen erreicht werden.
<?php
$original = 'Hello & welcome to <a href="https://gitbox.net">gitbox.net</a>!';
// String inHTMLjuristische Person
$encoded = htmlentities($original);
echo "Nach der Codierung: " . $encoded . "\n";
// 再将Nach der Codierung的字符串还原
$decoded = html_entity_decode($encoded);
echo "Nach dem Dekodieren: " . $decoded . "\n";
?>
Ausgabe:
Nach der Codierung: Hello & welcome to <a href="https://gitbox.net">gitbox.net</a>!
Nach dem Dekodieren: Hello & welcome to <a href="https://gitbox.net">gitbox.net</a>!
Flags : Steuert den konvertierten Entitätstyp, wie z . B. ent_quotes , sowohl einzelne als auch doppelte Zitate konvertiert.
Codierung : Geben Sie die Zeichencodierung an, die Standardeinstellung ist die Codierung in der PHP-Konfiguration, und es ist im Allgemeinen sicherer, sie auf UTF-8 einzustellen.
double_encode (spezifisch für HTMLENTitäten ): Ob die konvertierte Entität wieder entkommen soll, ist die Standardeinstellung wahr , normalerweise auf false eingestellt, um eine doppelte Codierung zu vermeiden.
Durch die Verwendung von HTMLentities kann verhindern, dass HTML -Tags vom Browser analysiert werden und eine sichere Ausgabe von Zeichen sicherstellen.
Verwenden Sie HTML_ENTITY_DECODE , um HTML -Entitäten in Originalzeichen wiederherzustellen, was für die anschließende Verarbeitung geeignet ist.
Die Kombination der Zwei-Wege-Konvertierung kann die Benutzereingaben sicher verarbeiten, XSS-Angriffe verhindern und die Anzeige erleichtern.
Ich hoffe, dieser Artikel kann Ihnen helfen, diese beiden Funktionen gut zu verstehen und anzuwenden und die bidirektionale Konvertierung von HTML -Unternehmen umzusetzen.