htmlentities
適用可能な文字を全て HTML エンティティに変換する
&reftitle.description;
stringhtmlentities
stringstring
intflagsENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401
stringnullencoding&null;
booldouble_encode&true;
この関数はhtmlspecialcharsと同じですが、
HTML エンティティと等価な意味を有する文字をHTMLエンティティに変換します。
指定する flags
定数に応じて使われる変換テーブルを得るには、
get_html_translation_table を使います。
もしデコード (逆の処理) をしたい場合、
html_entity_decode を使用することができます。
&reftitle.parameters;
string
入力文字列。
flags
以下のフラグを組み合わせたビットマスクです。
クォートや無効な符号単位シーケンス、そして文書型の扱いを指定します。
デフォルトは ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 です。
利用可能な flags 定数
定数名
説明
ENT_COMPAT
ダブルクオートは変換しますがシングルクオートは変換しません。
ENT_QUOTES
シングルクオートとダブルクオートを共に変換します。
ENT_NOQUOTES
シングルクオートとダブルクオートは共に変換されません。
ENT_IGNORE
無効な符号単位シーケンスを含む文字列を渡したときに、
空の文字列を返すのではなく無効な部分を切り捨てるようになります。
このフラグは使わないようにしましょう。
セキュリティの問題が発生する可能性があります。
ENT_SUBSTITUTE
無効な符号単位シーケンスを含む文字列を渡したときに、
空の文字列を返すのではなく Unicode の置換文字に置き換えます。
UTF-8 の場合は U+FFFD、それ以外の場合は &#FFFD; となります。
ENT_DISALLOWED
指定した文書型において無効な符号位置を、Unicode の代替文字である
U+FFFD (UTF-8) あるいは &#FFFD; で置き換えます。
これを設定しなければ、無効な符号位置をそのまま残します。
これは、外部コンテンツを埋め込んだ XML 文書を整形式に保つために有用です。
ENT_HTML401
コードを HTML 4.01 として処理します。
ENT_XML1
コードを XML 1 として処理します。
ENT_XHTML
コードを XHTML として処理します。
ENT_HTML5
コードを HTML 5 として処理します。
encoding
&strings.parameter.encoding;
&reference.strings.charsets;
double_encode
double_encode をオフにすると、PHP
は既存の html エンティティをエンコードしません。
デフォルトでは、既存のエンティティも含めてすべてを変換します。
&reftitle.returnvalues;
エンコードした文字列を返します。
入力文字列の中に、指定した encoding で無効な符号単位シーケンスが含まれる場合は、
ENT_IGNORE あるいは
ENT_SUBSTITUTE フラグが設定されていない限りは空文字列を返します。
&reftitle.changelog;
&Version;
&Description;
8.1.0
flags のデフォルト値が
ENT_COMPAT から
ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401
に変更されました。
8.0.0
encoding は、nullable になりました。
&reftitle.examples;
htmlentities の例
bold";
echo htmlentities($str);
echo "\n\n";
echo htmlentities($str, ENT_COMPAT);
?>
]]>
&example.outputs;
ENT_IGNORE の使用例
]]>
&reftitle.seealso;
html_entity_decode
get_html_translation_table
htmlspecialchars
nl2br
urlencode