PHP htmlspecialchars_decode() 関数

❮ PHP 文字列リファレンス

定義済みの HTML エンティティ "<"(より小)および ">"(より大)を 文字に変換します:

<?php
$str = "This is some &lt;b&gt;bold&lt;/b&gt; 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 任意。クォートのの処理方法と使用する文書タイプを指定する。

使用可能なクォートスタイルは次の通り:

  • ENT_COMPAT - デフォルト。ダブルクォートのみをデコードする
  • ENT_QUOTES - ダブルクォート、シングルクォートの両方をデコードする
  • ENT_NOQUOTES - どのクォートもデコードしない

使用する文書タイプを指定する追加のフラグ:

  • ENT_HTML401 - デフォルト。コードを HTML 4.01 として処理する/li>
  • ENT_HTML5 - コードを HTML 5 として処理する/li>
  • ENT_XML1 - コードを XML 1 として処理する/li>
  • ENT_XHTML - コードを XHTML として処理する/li>

技術内容
返り値: 変換した文字列を返します
PHP バージョン: 5.1.0+
変更歴 文書タイプを指定する ENT_HTML401、ENT_HTML5、ENT_XML1 および ENT_XHTMLは、PHP 5.4 で追加されました。

その他の例

例 1

いくつかの定義済みのHTMLエンティティを文字に変換します:

<?php
$str = "Jane &amp; &#039;Tarzan&#039;";
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出力は次の通り(ソース表示):

<!DOCTYPE html>
<html>
<body>
Jane & &#039;Tarzan&#039;<br>
Jane & 'Tarzan'<br>
Jane & &#039;Tarzan&#039;
</body>
</html>

ブラウザへの上のコードの出力は、次の通り:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'


例 2

定義済みのHTMLエンティティをダブルクォートに変換します:

<?php
$str = 'I love &quot;PHP&quot;.';
echo htmlspecialchars_decode($str, ENT_QUOTES); // Converts double and single quotes
?>

上のコードのHTML出力は次の通り(ソース表示):

<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>

ブラウザへの上のコードの出力は、次の通り:

I love "PHP".


❮ PHP 文字列リファレンス