Возможность кодировать и декодировать определенный набор символов, называемый «Html Entities», существует начиная с PHP4. Среди огромного количества функций, встроенных в PHP, есть 4 почти идентичные функции, которые используются для кодирования и декодирования объектов HTML; Однако, несмотря на их сходство, два из них предоставляют дополнительные возможности, недоступные другим.
Функции кодирования | Функции декодирования |
---|---|
htmlentities¹ | html_entity_decode¹ |
htmlspecialchars² | htmlspecialchars_decode² |
¹ htmlentities и html_entity_decode могут кодировать и декодировать символы только в таблице переводов HTML PHP.
² htmlspecialchars и htmlspecialchars_decode могут кодировать и декодировать только специальные символы³.
³ специальные символы не интерпретируются как теги HTML, а 8-битные символы кодируются только как символы ASCII.
Что отличает этот класс от остальных, так это то, что этот класс, помимо возможности кодировать и декодировать все те же символы/сущности, которые могут быть закодированы и декодированы функциями PHP htmlentities() и html_entity_decode(), он также может кодировать и декодировать очень большое количество символов/объектов, которые встроенные функции кодирования и декодирования htmlentities PHP не будут кодировать/декодировать из-за отсутствия у них специального значения в HTML, например:
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~*(#
Ознакомьтесь с нашей статистикой CodeClimate, нажав здесь.
Этот класс был удостоен награды PHP Innovation Award, предоставленной PHPClasses.org. Другие мои классы PHP доступны онлайн через мой профиль GitHub или профиль PHPClasses.org.