A capacidade de codificar e decodificar um determinado conjunto de caracteres chamado 'Entidades HTML' existe desde o PHP4. Entre o grande número de funções incorporadas ao PHP, existem 4 funções quase idênticas que são usadas para codificar e decodificar entidades HTML; apesar de suas semelhanças, dois deles fornecem recursos adicionais não disponíveis para os outros.
Funções de codificação | Funções de decodificação |
---|---|
htmlentidades¹ | html_entity_decode¹ |
htmlspecialchars² | htmlspecialchars_decode² |
¹ htmlentities e html_entity_decode só podem codificar e decodificar caracteres dentro da tabela de traduções HTML do PHP.
² htmlspecialchars e htmlspecialchars_decode só podem codificar e decodificar caracteres especiais³.
³ caracteres especiais não são interpretados como tags HTML e caracteres de 8 bits são codificados apenas como caracteres ASCII.
O que diferencia esta classe das demais é que esta classe, além de ser capaz de codificar e decodificar todos os mesmos caracteres/entidades que podem ser codificados e decodificados pelas funções htmlentities() e html_entity_decode() do PHP, ela também pode codificar e decodificar um grande número de caracteres/entidades que as funções integradas de codificação e decodificação de htmlentities do PHP não codificarão/decodificarão, devido à falta de significado especial em HTML, como:
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~*(#
Confira nossas estatísticas CodeClimate clicando aqui.
Esta classe recebeu o PHP Innovation Award, fornecido por PHPClasses.org. Minhas outras aulas de PHP podem ser acessadas online através do meu perfil GitHub ou perfil PHPClasses.org.