文字データを入力フォームから投稿する場合、htmlのタグ等も一緒に投稿する事が可能です。
そういったhtmlのタグが必要な場合もありますが、それが不必要な場合には「strip_tags」関数でhtmlのタグ等を消去して文字のみにする事も出来ます。
サニタイズする方法
■strip_tags
strip_tags(フォームから受け取った文字列の変数);
これを使うと命令等がカットされ文字のみになります。
<?php $data='<a href="test.php">リンク</a>と'."<strong>ストロング</strong>のサンプルです"; $moji=strip_tags($data); print $data; echo "<BR><BR>\r\n"; print $moji; echo "<BR><BR>\r\n"; ?>
strip_tagsを使うと、このように命令部分も無くなりシンプルな状態にサニタイズされます。
これを実行してみると
<a href=”test.php”>リンク </a> と<strong >ストロング</strong >のサンプルです<BR ><BR>
リンクとストロングのサンプルです <BR>< BR>
と上記の様に、例えば「<strong > ストロング </strong >」が「ストロング」というように削除された状態になります。
そのため逆にstrip_tagsを使った変数を使う前の状態に戻すのは不可能です。
似た命令に「htmlspecialchars」がありますがhtmlspecialcharsはhtmlタグを機能しないようにし命令自体も文字変換します。
これはhtmlspecialchars_decodeを使うと元に戻せるという利点があります。
次回は文字データの特定の文字を指定して置換する方法を紹介します。