電子書籍の厳選無料作品が豊富!

phpを使って簡易な掲示板を運営しています。

先日よりやたらと海外からの書き込みがあります。

書き込まれた際に英数字のみで書かれた内容にはエラーを出すような便利な関数はないでしょうか?

よろしくお願い致します。

A 回答 (2件)

こんな方法もあります。


if(mb_detect_encoding($body,"ASCII,SJIS")=="SJIS"){
#日本語有りの処理
}else{
#ASCIIの処理
}

自前の掲示板では投稿される前に投稿フォーム自体を出さない方法を併用しています。(投稿フォームがPHPでなければ出来ませんが…)
if(!preg_match("/ja/i",$_SERVER[HTTP_ACCEPT_LANGUAGE],$dum)){
# 日本語のブラウザでアクセスしてくださいとの表示
}else{
# フォーム表示
}
    • good
    • 0

とりあえずは・・・


if (eregi ("{a-zA-z0-9,./;:]@[-^!\"#$%&'()=~|`{*}?_><}", $data)) {
~英数字のみの時の処理~
} else {
~英数字以外が含まれていたときの処理~
}
と言ったところでしょう。
しかしこれでは英語以外の文字(例えば英語以外のヨーロッパ言語文字でも良い)を
使われただけでクリアされてしまいますのでどれくらい効果があるかは分かりません。
    • good
    • 0
この回答へのお礼

ありがとうございます。

これを逆に日本語が含まれている場合の処理などは可能なのでしょうか?

大手などの掲示板はどのように対処しているのですかね?・・・

お礼日時:2006/06/26 10:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!