strip_tags()関数を使うと、テキストボックスに入力されたデータ中に含まれるHTMLタグを完全に除去できます。受け取ったテキストデータが代入された変数を引数に指定すると、HTMLタグが除去された文字列が返されます。
第2引数には、除去の対象外にするタグを指定することができます。例えば、<b>タグを残したい場合は「<b>」と指定します(この場合、<b>タグに対応する</b>も残ります」。指定に使う文字は大文字でも小文字でも構いません。
この例では、HTMLタグをまったく除去しない場合と、すべてのタグを除去した場合、<b>タグだけを残して除去した場合、それぞれの結果を例示しています。
HTMLタグを含む文字列を入力して「送信」ボタンをクリックします。クリック後の画面では、2番目のメッセージはすべてHTMLタグが除去されているため、プレーンなテキストが表示されます。
<?php header("Content-type: text/html; charset=utf-8"); if(isset($_POST["btnExec"])){ echo $_POST["inputdata"] . "<br><br>\n\n"; //すべてのタグを除去 echo strip_tags($_POST["inputdata"]) . "<br><br>\n\n"; //bタグを残して除去 echo strip_tags($_POST["inputdata"], "<b>") . "<br><br>\n\n"; } ?> <!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title></title> </head> <body> テキストボックスに値を入力して「送信」ボタンをクリックしてください。 <form action="<?=$_SERVER["PHP_SELF"]?>" method="POST"> <input size="90" type="text" name="inputdata"> <input type="submit" name="btnExec" value="送信"> </form> </body> </html>