3

我想知道检测人们在我的论坛上提交帖子时使用的字母的最佳方法(对博客也很有用)。问题是最近我收到了很多西里尔字母、希腊字母和日语的垃圾邮件,所以由于我的论坛是为讲法语和英语的人准备的,我想防止垃圾邮件发送者使用不同的字母发帖。可以用正则表达式吗?

谢谢!

4

2 回答 2

1

您可以计算不需要的字母表中的字符数。如果此数字超过某个限制 - 删除该消息。要计算这个数字,您可以从请求中检测消息编码,然后使用字符代码。顺便说一句,您也可以通过编码过滤您的消息。

于 2012-08-31T16:10:08.633 回答
0

例如,可以执行以下操作:

preg_match('/([\p{Greek}])+/u', $post);

这将检查是否至少有 1 个希腊字符。有关更多信息(和其他字母),请参见此处:http ://www.regular-expressions.info/unicode.html

也可以采用另一种方式,例如检查所有字符是否属于拉丁字母。

于 2012-09-09T03:30:41.670 回答