Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 对照单词列表检查表单提交_Forms_Spam_Spam Prevention - Fatal编程技术网

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吗

(我知道可能有更好的方法,但目前这对我们来说很有效!)

  • 最好使用stripos(不区分大小写的strpos版本)
  • 请尝试以下代码:

    $a=数组('cialis','viagra'); 对于($i=0;$i
  • $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++;
    }