人々が私のフォーラムに投稿を送信するときに使用されるアルファベットを検出する最良の方法を知りたいです (ブログにも役立つ可能性があります)。最近、キリル文字、ギリシャ文字、日本語で大量のスパムを受け取ったので、私のフォーラムはフランス語と英語を話す人々のためのものなので、スパマーが異なるアルファベットで投稿するのを防ぎたい. 正規表現で可能ですか?
ありがとう!
人々が私のフォーラムに投稿を送信するときに使用されるアルファベットを検出する最良の方法を知りたいです (ブログにも役立つ可能性があります)。最近、キリル文字、ギリシャ文字、日本語で大量のスパムを受け取ったので、私のフォーラムはフランス語と英語を話す人々のためのものなので、スパマーが異なるアルファベットで投稿するのを防ぎたい. 正規表現で可能ですか?
ありがとう!
不要なアルファベットから文字数を数えることができます。この数がある制限を超える場合は、メッセージをドロップしてください。この数を数えるには、リクエストからメッセージエンコーディングを検出し、文字コードを使用します。ところで、エンコードによってメッセージをフィルタリングすることもできます。
たとえば、できることは次のとおりです。
preg_match('/([\p{Greek}])+/u', $post);
これは、少なくとも 1 つのギリシャ文字があるかどうかをチェックします。詳細 (およびその他のアルファベット) については、こちらを参照してください: http://www.regular-expressions.info/unicode.html
すべての文字がラテン アルファベットに属していることを確認するなど、別の方法を実行することもできます。