'Html 엔터티'라고 불리는 특정 문자 집합을 인코딩하고 디코딩하는 기능은 PHP4부터 존재했습니다. PHP에 내장된 수많은 함수 중에는 HTML 엔터티를 인코딩하고 디코딩하는 데 사용되는 거의 동일한 함수가 4개 있습니다. 그러나 유사성에도 불구하고 그 중 2개는 다른 것에서는 사용할 수 없는 추가 기능을 제공합니다.
인코딩 기능 | 디코딩 기능 |
---|---|
HTML엔티티¹ | html_entity_decode¹ |
htmlspecialchars² | htmlspecialchars_decode² |
¹ htmlentities 및 html_entity_decode는 PHP의 HTML 번역 테이블 내의 문자만 인코딩 및 디코딩할 수 있습니다.
² htmlspecialchars 및 htmlspecialchars_decode는 특수 문자만 인코딩 및 디코딩할 수 있습니다.
³ 특수 문자는 HTML 태그로 해석되지 않으며 8비트 문자는 ASCII 문자로만 인코딩됩니다.
이 클래스가 나머지 클래스와 다른 점은 이 클래스가 PHP의 htmlentities() 및 html_entity_decode() 함수로 인코딩 및 디코딩할 수 있는 모든 동일한 문자/엔티티를 인코딩 및 디코딩할 수 있다는 것입니다. HTML에서 특별한 의미가 없기 때문에 PHP의 내장 htmlentities 인코딩 및 디코딩 기능이 인코딩/디코딩하지 않는 매우 많은 수의 문자/엔티티를 디코딩합니다.
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 통계를 확인하세요.
이 수업은 PHPClasses.org에서 제공하는 PHP Innovation Award를 수상했습니다. 내 다른 PHP 수업은 내 GitHub 프로필이나 PHPClasses.org 프로필을 통해 온라인으로 액세스할 수 있습니다.