SYNCER

SYNCER

get_html_translation_table() - HTMLエンティティの変換テーブルを取得する

公開日:

get_html_translation_tableは、HTMLエンティティに変換する際に使用する変換テーブルの内容を取得する関数です。

構文

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

パラメータ

$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
(
    ["] => &quot;
    [&] => &amp;
    [<] => &lt;
    [>] => &gt;
)

変換フラグを指定する

第2引数を指定することで、変換テーブルの内容を調整できます。例えば、ENT_NOQUOTESを指定すると、シングルクォート、ダブルクォートともに無視する内容の変換テーブルになります。

php

<?php
	// 実行
	$result = get_html_translation_table( HTML_SPECIALCHARS, ENT_NOQUOTES ) ;

	// 結果
	var_dump( $result ) ;

結果 (出力内容) - PHP7.0.21

array(3) {
  ["&"]=>
  string(5) "&amp;"
  ["<"]=>
  string(4) "&lt;"
  [">"]=>
  string(4) "&gt;"
}

サンドボックス

ソースコードを編集してget_html_translation_table()の挙動を確認して下さい。

Array
(
    ["] => &quot;
    [&] => &amp;
    [<] => &lt;
    [>] => &gt;
)

参考リンク

  • PHP - 公式マニュアル。