htmlspecialchars_decode
(PHP 5 >= 5.1.0, PHP 7)
htmlspecialchars_decode — 特殊な HTML エンティティを文字に戻す
説明
htmlspecialchars_decode
( string
$string
[, int $flags = ENT_COMPAT | ENT_HTML401
] ) : stringこの関数は htmlspecialchars() の反対です。 特殊な HTML エンティティを文字に戻します。
変換されるエンティティは次のものです。&、
" (ENT_NOQUOTES が設定されていない場合)、
' (ENT_QUOTES が設定されている場合)、
< および >。
パラメータ
-
string -
デコードする文字列。
-
flags -
以下のフラグのビットマスクによる組み合わせで、クォートの扱いやドキュメントの形式を指定します。 デフォルトは ENT_COMPAT | ENT_HTML401 です。
使用可能な flags定数定数名 説明 ENT_COMPATダブルクォートを変換し、シングルクォートはそのままにします。 ENT_QUOTESダブルクォート、シングルクォートの両方を変換します。 ENT_NOQUOTESダブルクォート、シングルクォートの両方をそのままにします。 ENT_HTML401コードを HTML 4.01 として処理します。 ENT_XML1コードを XML 1 として処理します。 ENT_XHTMLコードを XHTML として処理します。 ENT_HTML5コードを HTML 5 として処理します。
返り値
デコードされた文字列を返します。
変更履歴
| バージョン | 説明 |
|---|---|
| 5.4.0 |
定数 ENT_HTML401、ENT_XML1、
ENT_XHTML および ENT_HTML5 が追加されました。
|
例
例1 htmlspecialchars_decode() の例
<?php
$str = "<p>this -> "</p>\n";
echo htmlspecialchars_decode($str);
// クォートが変換されないことに注意しましょう
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>
上の例の出力は以下となります。
<p>this -> "</p> <p>this -> "</p>
参考
- htmlspecialchars() - 特殊文字を HTML エンティティに変換する
- html_entity_decode() - HTML エンティティを適切な文字に変換する
- get_html_translation_table() - htmlspecialchars および htmlentities で使用される変換テーブルを返す