htmlentities

(PHP 3, PHP 4 )

htmlentities -- 適用可能な文字を全てHTMLエンティティに変換する

説明

string htmlentities ( string string, int [quote_style] , string [charset] )

この関数は htmlspecialchars() と同じですが、 HTML エンティティと等価な意味を有する文字をHTMLエンティティに変換 します。 htmlspecialchars() と同様に、シングルま たはダブルクオートに関する動作を示すオプションの第2の引数をとりま す。 ENT_COMPAT (デフォルト)の場合は、ダブルク オートのみを変換し、シングルクオートをそのままにします。ダブルお よびシングルクオートを共に変換します。 ENT_NOQUOTES はダブルクオートおよびシングルク オートを共に変換しません。

現在のところ、ISO-8859-1 文字セットがデフォルトの文字エンコーディ ングとして使用されます。オプションの2番目の引数は、PHP 3.0.17およ びPHP 4.0.3で追加されました。

htmlspecialchars() と同様に、この関数はオプショ ンの3番目の引数をとり、変換に使用される文字セットを指定可能です。 この引数はPHP 4.1.0で追加されました。

この関数の逆の処理を行なう関数はありません。しかし、自分でその関数を 作成することができます。以下にこの処理を行なう関数の例を示します。

例 1 htmlentities() の逆関数

 ?php
function unhtmlentities ($string)
{
    $trans_tbl = get_html_translation_table (HTML_ENTITIES);
    $trans_tbl = array_flip ($trans_tbl);
    return strtr ($string, $trans_tbl);
}
? 

get_html_translation_table() , htmlspecialchars() および nl2br() も参照下さい。