Lv1プログラマの誰得メモ

総務女子の開発とか趣味とか自学に関係することのメモ

htmlspecialchars()関数

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;」になります