`htmlspecialchars_decode`は、PHPでエスケープされたHTMLエンティティを元の文字列に戻すための関数です。`htmlspecialchars`や`htmlentities`などでエスケープされた文字列を元に戻す際に利用されます。
基本的な使用法は以下の通りです:
$escaped_html = "<p>This is a <b>bold</b> statement.</p>"; $original_html = htmlspecialchars_decode($escaped_html); echo $original_html;
この場合、`$original_html`にはエスケープされていない元のHTMLが含まれます。この関数は、HTMLエンティティを対応する特殊文字にデコードします。
`htmlspecialchars_decode`は、デフォルトで `ENT_COMPAT` フラグを使用します。これはダブルクォートのみをエンティティとしてエスケープする設定です。もしシングルクォートもエスケープしたい場合は、`ENT_QUOTES` フラグを指定します。
$escaped_html = "<p>This is a <b>bold</b> statement with 'single quotes'.</p>"; $original_html = htmlspecialchars_decode($escaped_html, ENT_QUOTES); echo $original_html;
このようにすることで、シングルクォートも正しくデコードされます。
注意: `htmlspecialchars_decode`は、HTMLエンティティに対してのみ機能します。`htmlentities`でエンティティ化された文字列に対しては、`html_entity_decode`を使用する必要があります。