一般的なHTMLエンティティ
2010/02/18
HTMLエンティティとは、例えばダブルコーテーションとか、大なり記号、小なり記号とか、ページに表示したいのだけれども、それらはHTMLのタグ文字として使われているもので、俗に「HTML特殊文字」と言われますが、それをHTML上で、表示できる文字に置き換えることです。
ダブルコーテーションは、「"」と書き、大なり記号は「<」となりますが、その変換をHTMLエンティティと言います。
ある程度は覚えちゃってますけれど、それを暗記せずとも、PHPではhtmlentities()という関数を使えば変換してくれます。
上記は、例えば検索フォームを作成するときに、テキストボックス内に「"」や「'」を入力されると、
<input type="text" name="text_name" value=<?= $_POST['text_name'] ?> />
は
<input type="text" name="text_name" value=""" />
などとなり、「"」がテキストボックスのvalueの後ろに3つついてしまい、正常に動作しなくなります。
これを防ぐために、入力された値をHTML上に表示したいときには、htmlentities()という関数を使って、HTMLエンティティしてから表示します。