La possibilité d'encoder et de décoder un certain ensemble de caractères appelés « Entités HTML » existe depuis PHP4. Parmi le grand nombre de fonctions intégrées à PHP, il existe 4 fonctions presque identiques qui sont utilisées pour encoder et décoder les entités HTML ; Malgré leurs similitudes, deux d'entre eux offrent des capacités supplémentaires qui ne sont pas disponibles pour les autres.
Fonctions d'encodage | Fonctions de décodage |
---|---|
entités html¹ | html_entity_decode¹ |
htmlcaractères spéciaux² | htmlspecialchars_decode² |
¹ htmlentities et html_entity_decode ne peuvent encoder et décoder que les caractères de la table de traduction HTML de PHP.
² htmlspecialchars et htmlspecialchars_decode ne peuvent encoder et décoder que des caractères spéciaux³.
Les caractères spéciaux ³ ne sont pas interprétés comme des balises HTML et les caractères 8 bits sont codés uniquement en caractères ASCII.
Ce qui distingue cette classe des autres, c'est que cette classe, en plus d'être capable d'encoder et de décoder tous les mêmes caractères/entités qui peuvent être encodés et décodés par les fonctions htmlentities() et html_entity_decode() de PHP, elle peut également encoder et décoder un très grand nombre de caractères/entités que les fonctions d'encodage et de décodage d'entités HTML intégrées à PHP ne pourront pas encoder/décoder, en raison de leur manque de signification particulière en HTML, comme:
composer require gavinggordon/htmlentities
include_once ( __DIR__ . ' /vendor/autoload.php ' );
$ htmlentities = new GGG HtmlEntities ();
$ to_encode = ' Test-,;: ' ;
// Set a variable containing a string of the encoded characters you wish to be encoded;
$ encoded = $ htmlentities -> encode ( $ to_encode );
// Get the encoded result by using the encode method on the returned instance of HtmlEntities;
echo $ encoded ;
// Display the encoded result, which is of type String;
// Test‐,;:
$ to_decode = ' Test˜*(# ' ;
// Set a variable containing a string of the encoded characters you wish to be decoded;
$ decoded = $ htmlentities -> decode ( $ to_decode );
// Get the decoded result by using the decode method on the returned instance of HtmlEntities;
echo $ decoded ;
// Display the decoded result, which is of type String;
// Test~*(#
Consultez nos statistiques CodeClimate en cliquant ici.
Cette classe a reçu un PHP Innovation Award, fourni par PHPClasses.org. Mes autres cours PHP sont accessibles en ligne via mon profil GitHub ou PHPClasses.org.