例
事前に定義されたHTMLエンティティに変換"<" (less than)と">" (greater than)文字:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
?>
上記のコードのHTML出力は次のようになります(View Source) :
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
上記のコードのブラウザの出力は次のようになります。
This is some bold text.
定義と使用法
htmlspecialchars_decode()関数は、文字にいくつかの事前定義されたHTMLエンティティに変換します。
デコードされるHTMLエンティティは以下のとおりです。
- &#038; となり& (ampersand)
- &QUOT。 「となり(double quote)
- &#039; 」になる(single quote)
- &LT; なる< (less than)
- &GT; >となり(greater than)
htmlspecialchars_decode()関数の逆でhtmlspecialchars()
構文
htmlspecialchars_decode( string,flags )
パラメーター | 説明 |
---|---|
string | 必須。 デコードする文字列を指定します。 |
flags | 任意。 引用符を処理するために、どの文書タイプを使用する方法を指定します。 可能な引用のスタイルは、次のとおりです。
使用DOCTYPEを指定するための追加のフラグ:
|
技術的な詳細
戻り値: | 変換された文字列を返します。 |
---|---|
PHPバージョン: | 5.1.0+ |
変更履歴: | 使用DOCTYPEを指定するための追加のフラグ。 ENT_HTML401、ENT_HTML5、ENT_XML1とENT_XHTMLは、PHP 5.4で追加されました |
その他の例
例1
いくつかの事前定義されたHTMLエンティティを文字に変換します。
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars_decode($str,
ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES);
// Converts double and single quotes
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
// Does not convert any quotes
?>
上記のコードのHTML出力は次のようになります(View Source) :
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
上記のコードのブラウザの出力は次のようになります。
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
例2
事前に定義されたHTMLエンティティは、二重引用符に変換します。
<?php
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES);
// Converts double and single quotes
?>
上記のコードのHTML出力は次のようになります(View Source) :
<!DOCTYPE html>
<html>
<body>
I love "PHP" .
</body>
</html>
上記のコードのブラウザの出力は次のようになります。
I love "PHP" .
<PHPの文字列のリファレンス