「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() 関数でエンコードおよびデコードできるのと同じ文字/エンティティをすべてエンコードおよびデコードできることに加えて、また、特別な意味がないため、PHP の組み込み htmlentities エンコードおよびデコード関数ではエンコード/デコードできない非常に多くの文字/エンティティをデコードします。 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 の統計を確認してください。
このクラスは、PHPClasses.org が提供する PHP Innovation Award を受賞しています。私の他の PHP クラスには、GitHub プロファイルまたは PHPClasses.org プロファイルを介してオンラインでアクセスできます。