get_html_translation_table() - HTMLエンティティの変換テーブルを取得する
公開日:
get_html_translation_table
は、HTMLエンティティに変換する際に使用する変換テーブルの内容を取得する関数です。
構文
パラメータ
$table
初期値: HTML_SPECIALCHARS
テーブルの種類。
- HTML_ENTITIES
- 変換可能な全ての文字をHTMLエンティティに変換する。
- HTML_SPECIALCHARS
- 特殊文字のみをHTMLエンティティに変換する。
$flags
初期値: ENT_COMPAT | ENT_HTML401
変換する特殊文字の種類。
- ENT_COMPAT
- ダブルクォートを含め、シングルクォートを含めない。
- ENT_QUOTES
- シングルクォート、ダブルクォートのどちらも含める。
- ENT_NOQUOTES
- ダブルクォート、シングルクォートのどちらも含めない。
- ENT_HTML401
- HTML4.01のドキュメントに適したテーブル。
- ENT_XML1
- XML1のドキュメントに適したテーブル。
- ENT_XHTML
- XHTMLのドキュメントに適したテーブル。
- ENT_HTML5
- HTML5のドキュメントに適したテーブル。
$encoding
初期値: "UTF-8"
使用する文字エンコーディング。
返り値
array
変換テーブルの内容を配列で表現したもの。各要素は変換前の文字がキー、変換後の文字が値になっている。
サンプルコード
変換テーブルを取得する
HTMLエンティティに変換する際に使用されるテーブルを取得します。例えば、このテーブルによると、HTMLエンティティに変換する場合、"
が"
に、&
が&
に変換されるのが分かります。
php
<?php
// 実行
$result = get_html_translation_table() ;
// 結果
print_r( $result ) ;
結果 (出力内容) - PHP7.0.21
Array
(
["] => "
[&] => &
[<] => <
[>] => >
)
変換フラグを指定する
第2引数を指定することで、変換テーブルの内容を調整できます。例えば、ENT_NOQUOTES
を指定すると、シングルクォート、ダブルクォートともに無視する内容の変換テーブルになります。
php
<?php
// 実行
$result = get_html_translation_table( HTML_SPECIALCHARS, ENT_NOQUOTES ) ;
// 結果
var_dump( $result ) ;
結果 (出力内容) - PHP7.0.21
array(3) {
["&"]=>
string(5) "&"
["<"]=>
string(4) "<"
[">"]=>
string(4) ">"
}
サンドボックス
ソースコードを編集してget_html_translation_table()
の挙動を確認して下さい。
参考リンク
- PHP - 公式マニュアル。