Forms 对照单词列表检查表单提交
我有一些代码要检查是否有表单被垃圾邮件,如果是,请停止电子邮件 它包括如下一节:Forms 对照单词列表检查表单提交,forms,spam,spam-prevention,Forms,Spam,Spam Prevention,我有一些代码要检查是否有表单被垃圾邮件,如果是,请停止电子邮件 它包括如下一节: if(strpos($messagefield, " cialis") !== false){ $noemail = true; } if(strpos($messagefield, " viagra") !== false){ $noemail = true; } 等等,因为我们在坏词列表中有很多词 这样做很好,但很笨拙,很难轻松添加新词进行检查。 如果我可以创建一个数组并对照数组检查任何字段,那就更容易了,但
if(strpos($messagefield, " cialis") !== false){
$noemail = true;
}
if(strpos($messagefield, " viagra") !== false){
$noemail = true;
}
等等,因为我们在坏词列表中有很多词
这样做很好,但很笨拙,很难轻松添加新词进行检查。
如果我可以创建一个数组并对照数组检查任何字段,那就更容易了,但是我正在努力寻找一个示例来使用(大多数示例仍然指定要搜索的文本,在这种情况下,该文本会破坏对象)
有人能帮我用代码对照数组检查$messagefield吗
(我知道可能有更好的方法,但目前这对我们来说很有效!)
$i=0;
$wordlist=数组('cialis','viagra');
而($i
在我看来,在for循环中使用break是一种不好的做法。如果您没有在整个阵列中循环,请使用while。非常好,谢谢-这似乎正是我所需要的!还要感谢IIya提供的关于stripos不区分大小写的提示
$i = 0;
$wordlist = array(' cialis', ' viagra');
while ($i < count($wordlist) && $noemail == false) {
if (strpos($messagefield, $wordlist[$i]) !== false) {
$noemail = true;
}
$i++;
}