[PHP]get_html_translation_tableの使い方

2021年11月3日

構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
get_html_translation_table(int $table = HTML_SPECIALCHARS,
int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,
string $encoding = "UTF-8"): array
get_html_translation_table(int $table = HTML_SPECIALCHARS, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8"): array
get_html_translation_table(int $table = HTML_SPECIALCHARS, 
int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, 
string $encoding = "UTF-8"): array

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
定数名 説明
ENT_COMPAT テーブルにダブルクォート用のエンティティを含めますが、シングルクォート用は含めません。
ENT_QUOTES テーブルにダブルクォート用、シングルクォート用の両方のエンティティを含めます。
ENT_NOQUOTES テーブルにダブルクォート用、シングルクォート用のどちらのエンティティも含めません。
ENT_SUBSTITUTE 無効な符号単位シーケンスを含む文字列を渡したときに、 空の文字列を返すのではなく Unicode の置換文字に置き換えます。 UTF-8 の場合は U+FFFD、それ以外の場合は &#FFFD; となります。
ENT_HTML401 HTML 4.01 用のテーブル。
ENT_XML1 XML 1 用のテーブル。
ENT_XHTML XHTML 用のテーブル。
ENT_HTML5 HTML 5 用のテーブル。
定数名 説明 ENT_COMPAT テーブルにダブルクォート用のエンティティを含めますが、シングルクォート用は含めません。 ENT_QUOTES テーブルにダブルクォート用、シングルクォート用の両方のエンティティを含めます。 ENT_NOQUOTES テーブルにダブルクォート用、シングルクォート用のどちらのエンティティも含めません。 ENT_SUBSTITUTE 無効な符号単位シーケンスを含む文字列を渡したときに、 空の文字列を返すのではなく Unicode の置換文字に置き換えます。 UTF-8 の場合は U+FFFD、それ以外の場合は &#FFFD; となります。 ENT_HTML401 HTML 4.01 用のテーブル。 ENT_XML1 XML 1 用のテーブル。 ENT_XHTML XHTML 用のテーブル。 ENT_HTML5 HTML 5 用のテーブル。
定数名	         説明
ENT_COMPAT	テーブルにダブルクォート用のエンティティを含めますが、シングルクォート用は含めません。
ENT_QUOTES	テーブルにダブルクォート用、シングルクォート用の両方のエンティティを含めます。
ENT_NOQUOTES	テーブルにダブルクォート用、シングルクォート用のどちらのエンティティも含めません。
ENT_SUBSTITUTE	無効な符号単位シーケンスを含む文字列を渡したときに、 空の文字列を返すのではなく Unicode の置換文字に置き換えます。 UTF-8 の場合は U+FFFD、それ以外の場合は &#FFFD; となります。
ENT_HTML401	HTML 4.01 用のテーブル。
ENT_XML1	XML 1 用のテーブル。
ENT_XHTML	XHTML 用のテーブル。
ENT_HTML5	HTML 5 用のテーブル。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
echo('<pre>');
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES));
echo('</pre>');
?>
<?php echo('<pre>'); var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES)); echo('</pre>'); ?>
<?php
echo('<pre>');
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES));
echo('</pre>');
?>

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
array(253) {
'"' =>
string(6) "&quot;"
'&' =>
string(5) "&amp;"
'\'' =>
string(6) "&#039;"
'<' =>
string(4) "&lt;"
'>' =>
string(4) "&gt;"
' ' =>
string(6) "&nbsp;"
array(253) { '"' => string(6) "&quot;" '&' => string(5) "&amp;" '\'' => string(6) "&#039;" '<' => string(4) "&lt;" '>' => string(4) "&gt;" ' ' => string(6) "&nbsp;" 略
array(253) {
  '"' =>
  string(6) "&quot;"
  '&' =>
  string(5) "&amp;"
  '\'' =>
  string(6) "&#039;"
  '<' =>
  string(4) "&lt;"
  '>' =>
  string(4) "&gt;"
  ' ' =>
  string(6) "&nbsp;"
  略

 

PHP

Posted by arkgame