用于检查重复字符/伪造文本的php代码

时间:2010-07-15 09:25:18

标签: php string full-text-search

我正在运行一个约会网站,并且有一个人们输入他们的个人资料的地方 - 我已经有一个坏词过滤器,但现在我有一个问题,人们输入的个人资料只是垃圾字符或只是“aaaaaaaaaaaaaaaaaa”或者“--------------”等我正在寻找一种有效的方法来过滤重复字符的长字。提前谢谢。

3 个答案:

答案 0 :(得分:2)

也许你需要一些bayesian spam filter - 类似的过滤器。

  

特定词语在垃圾邮件和合法电子邮件中具有特定概率。例如,大多数电子邮件用户经常会在垃圾邮件中遇到“伟哥”这个词,但很少会在其他电子邮件中看到它。过滤器事先不知道这些概率,必须首先进行训练,以便能够建立它们。要训​​练过滤器,用户必须手动指示新电子邮件是否为垃圾邮件。   ...

答案 1 :(得分:2)

这应该这样做(但它也会替换双字符,也许你需要编辑一下):

preg_replace('{(.)\1+}','$1',$text);

OT:无法相信仍有人使用bad-word filters ...

答案 2 :(得分:0)

您可以使用单词列表,并标记每个不包含在列表中的长单词(例如5个字符)的消息 - 如果该字段包含5个8个字母的单词,其中没有单词在字典中,则为< em>可能这不是有意义的数据。