PHP htmlspecialchars_decode()関数
例
定義済み HTML エンティティ "<"(小なり)と ">"(大なり)を文字に変換する:
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
上記コードの HTML 出力は次のようになります(ソースを表示):
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
上記コードのブラウザ出力は次のようになります:
This is some bold text.
定義と使い方
htmlspecialchars_decode() 関数は、いくつかの定義済み HTML エンティティを文字に変換します。
デコードされる HTML エンティティは次のとおりです:
- & は & (アンパサンド)にデコードされます
- " は " (二重引用符)にデコードされます
- ' は ' (一重引用符)にデコードされます
- < は < (小なり)にデコードされます
- > は > (大なり)にデコードされます
htmlspecialchars_decode() 関数はhtmlspecialchars()関数の逆関数です。
構文
htmlspecialchars_decode(string,flags)
| パラメータ | 説明 |
|---|---|
| string | 必須です。デコードする文字列を指定します。 |
| flags | オプションです。引用符の処理方法と使用するドキュメントタイプを指定します。 使用可能な引用符タイプ:
使用するドキュメントタイプを指定する追加フラグ:
|
技術詳細
| 戻り値: | 変換された文字列を返します。 |
|---|---|
| PHP バージョン: | 5.1.0+ |
| 更新履歴: | PHP 5.4 では、使用するドキュメントタイプを指定するための追加フラグ、ENT_HTML401、ENT_HTML5、ENT_XML1、ENT_XHTML が追加されました。 |
その他の例
例 1
いくつかの定義済み HTML エンティティを文字に変換します:
$str = "Jane & 'Tarzan'";
echo htmlspecialchars_decode($str, ENT_COMPAT); //デフォルトでは、二重引用符のみデコードします
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); //二重引用符と一重引用符をデコードします
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); //いかなる引用符もデコードしません
上記コードの HTML 出力は次のようになります(ソースを表示):
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
上記コードのブラウザ出力は次のようになります:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
例 2
定義済み HTML エンティティを二重引用符に変換します:
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); //二重引用符と一重引用符をデコードします
上記コードの HTML 出力は次のようになります(ソースを表示):
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
上記コードのブラウザ出力は次のようになります:
I love "PHP".
PHP String リファレンスマニュアル その他の拡張