まとめて対象にしたいときは
htmlentities/html_entity_decode
特定の特殊文字だけを対象にしたいときは
htmlspecialchars/htmlspecialchars_decode
上記2つの関数の違いは、htmlentities がエンコード可能なものはすべてエンコードするが、 htmlspecialchars は、不等号(<>)、アンパサンド(&)、シングルコーテーション(')、ダブルコーテーション(") のみをエンコードすることである。 htmlentities では コピーライト文字もエンコードされているが、htmlspecialchars ではコピーライト(©)の変換は 行われていないことがわかる。
smartyテンプレートで画面に出力している場合は、更に
smarty:nodefaults
を噛ませる必要があることに注意。