PHP Manual » String 関数

get_html_translation_table

(PHP 4, PHP 5, PHP 7)

get_html_translation_tablehtmlspecialchars() および htmlentities() で使用される変換テーブルを返す

説明

arrayget_html_translation_table ([ int$table = HTML_SPECIALCHARS [, int$flags = ENT_COMPAT | ENT_HTML401 [, string$encoding = "UTF-8" ]]] )

get_html_translation_table() は、 htmlspecialchars() および htmlentities() において内部的に使用される変換テーブルを返します。

注意:

特殊文字はいくつかの方法でエンコードすることができます。 例えば、"", " もしくは &#x22 としてエンコードすることができます。 get_html_translation_table() の返す値は、 htmlspecialchars()htmlentities() で使っている形式だけです。

パラメータ

table

どちらのテーブルを返すか。HTML_ENTITIES あるいは HTML_SPECIALCHARS

flags

以下のフラグのビットマスクによる組み合わせで、 どのクォートをテーブルに含めるのか、そしてどのドキュメント形式用のテーブルにするのかを指定します。 デフォルトは ENT_COMPAT | ENT_HTML401 です。

使用可能な flags 定数
定数名説明
ENT_COMPATテーブルにダブルクォート用のエンティティを含めますが、シングルクォート用は含めません。
ENT_QUOTESテーブルにダブルクォート用、シングルクォート用の両方のエンティティを含めます。
ENT_NOQUOTESテーブルにダブルクォート用、シングルクォート用のどちらのエンティティも含めません。
ENT_HTML401HTML 4.01 用のテーブル。
ENT_XML1XML 1 用のテーブル。
ENT_XHTMLXHTML 用のテーブル。
ENT_HTML5HTML 5 用のテーブル。

encoding

使用するエンコーディング。省略した場合のデフォルト値は、 PHP 5.4.0 より前のバージョンでは ISO-8859-1、そして PHP 5.4.0 以降では UTF-8 となります。

以下の文字セットをサポートします。

サポートする文字セット
文字セットエイリアス説明
ISO-8859-1ISO8859-1 西欧、Latin-1
ISO-8859-5ISO8859-5 ほとんど使われないキリル文字セット (Latin/Cyrillic)。
ISO-8859-15ISO8859-15 西欧、Latin-9 。Latin-1(ISO-8859-1) に欠けている ユーロ記号やフランス・フィンランドの文字を追加したもの。
UTF-8  ASCII 互換のマルチバイト 8 ビット Unicode 。
cp866ibm866, 866 DOS 固有のキリル文字セット。
cp1251Windows-1251, win-1251, 1251 Windows 固有のキリル文字セット。
cp1252Windows-1252, 1252 西欧のための Windows 固有の文字セット。
KOI8-Rkoi8-ru, koi8r ロシア語。
BIG5950 繁体字中国語。主に台湾で使用されます。
GB2312936 簡体字中国語。国の標準文字セットです。
BIG5-HKSCS  Big5 に香港の拡張を含めたもの。繁体字中国語。
Shift_JISSJIS, SJIS-win, cp932, 932 日本語。
EUC-JPEUCJP, eucJP-win 日本語。
MacRoman  Mac OS で使われる文字セット。
''  空文字列を指定すると、 スクリプトのエンコーディング (Zend multibyte)、 default_charset、 そして現在のロケール (nl_langinfo() および setlocale() を参照ください) の順でエンコーディングを検出します。 この方法はおすすめしません。

注意: これら以外の文字セットは理解できません。 かわりにデフォルトのエンコーディングを使用し、警告を発生させます。

返り値

変換テーブルを配列で返します。元の文字がキー、そしてエンティティが値となります。

変更履歴

バージョン説明
5.4.0encoding パラメータのデフォルトが UTF-8 に変わりました。
5.4.0 定数 ENT_HTML401ENT_XML1ENT_XHTML および ENT_HTML5 が追加されました。
5.3.4encoding パラメータが追加されました。

例1 変換テーブルの例

<?php
var_dump
(get_html_translation_table(HTML_ENTITIESENT_QUOTES ENT_HTML5));
?>

上の例の出力は、 たとえば以下のようになります。

array(1510) { ["
"]=> string(9) "&NewLine;" ["!"]=> string(6) "&excl;" ["""]=> string(6) "&quot;" ["#"]=> string(5) "&num;" ["$"]=> string(8) "&dollar;" ["%"]=> string(8) "&percnt;" ["&"]=> string(5) "&amp;" ["'"]=> string(6) "&apos;" // ...
}

参考

関連キーワード:  テーブル,変換,使用,セット,htmlentities,string,エンティティ,translation,および,クォート

PHP Manual » String 関数