`htmlentities`は、PHPで文字列をHTMLエンティティに変換するための関数です。これを使用すると、HTML文書内で特殊文字(たとえば、 `<`, `>`, `&`, `”`, `’` など)をエスケープして表示することができます。これにより、クロスサイトスクリプティング(XSS)攻撃などからウェブアプリケーションを守ることができます。
基本的な使用法は以下の通りです:
$html = "<p>This is a <b>bold</b> statement.</p>"; $escaped_html = htmlentities($html); echo $escaped_html;
この場合、`$escaped_html`にはエスケープされたHTMLが含まれます。これを出力すると、HTMLタグがそのまま表示されずにエスケープされた形で表示されます。
`htmlentities`関数は、デフォルトでISO-8859-1文字セットを使用しますが、文字セットを指定することも可能です。例えばUTF-8を使用する場合:
$escaped_html_utf8 = htmlentities($html, ENT_QUOTES, 'UTF-8');
`ENT_QUOTES`は、シングルクォートもエスケープするためのフラグです。
注意: `htmlentities`を使用すると、すべての特殊文字がエンティティに変換されます。これにはタグも含まれます。HTMLを再度表示する場合、`html_entity_decode`を使用して元の文字列に戻すことができます。
$original_html = html_entity_decode($escaped_html);
これにより、エンティティが元の特殊文字に変換された文字列が取得できます。