PHP研究
13.フォームデータの処理
HTMLタグの処理。
$mes = htmlspecialchars($mes);
これで、
< → <
> → >
などに変換されます。
HTMLタグの除去。
$mes = strip_tags($mes);
<textarea>から受信した、複数行データの改行コードの処理。
$com = str_replace("\r\n", "\r", $com); //Win系は\r\n
$com = str_replace("\r", "\n", $com); //Mac系は\r
$com = str_replace("\n", "<br>", $com);
入力文字コードの判定。
$charcode = mb_http_input("G");
上は、method="GET"の場合。
method="POST"なら"P"。
クッキーから受信したデータなら"C"。
$charcodeには"SJIS"やら"EUC"などが入ります。
ただし、万能ではないようで、入力文が短いと誤認識されるようです。
フォームから送られるデータは、概ね
フォーム画面の文字コード
で送信されるようですので(例外もすこしあるようだけど)、
EUC画面ならEUCと決め付けちゃってもよいようです。
確実性を高めるなら、
hidden属性で長めの文字列を送信し、判別する方法もありです。