htmlspecialchars()は、 HTML において特殊な意味を持つものを、 HTML の表現形式に変換するための関数。
例えば、この関数を使ったものと、使わないもので比べてみる。
sample04a.php
<?php //htmlspecialchars()使用// print ('name : ' . htmlspecialchars($_REQUEST['my_name'] , ENT_QUOTES).' <--使用'); print ('<br />'); //htmlspecialchars()未使用// print ('name : ' . $_REQUEST['my_name'].' <--未使用'); ?>
じゃあ次
「<strong>めぐさん</strong>」と入力してみる
んん?!
htmlspecialchars()を使ってない方は、見事に<strong>タグが反映されちゃってますね
これは<abc>という意味のないものでも、”<”と”>”で挟まれた記号はHTMLタグと誤認識されるらしく、表示されない
表示させたい意味のある文字列を入力したとしても、これじゃあ表示されないし、HTMLタグが入れられるということは、レイアウトが崩壊したり、ハッキングされたり〜、非常に危険
だから、htmlspecialchars()を使おうぜ!!
htmlspecialchars()の2つ目のパラメータ”ENT_QUOTES”は、「'」 (シングルクオート) は 「&#039;」になります