0

我有一些代码要检查是否正在发送垃圾邮件,如果是,则停止发送电子邮件。

它包括这样的部分:

if(strpos($messagefield, " cialis") !== false){
$noemail = true;
}
if(strpos($messagefield, " viagra") !== false){
$noemail = true;
}

等等,就像我们在坏词列表中拥有的一样多的词

这工作正常,但笨拙且难以轻松添加新单词进行检查。如果我可以创建一个数组并根据数组检查任何字段会更容易,但是我正在努力寻找一个要使用的示例(大多数示例仍然指定要搜索的文本在这种情况下会破坏对象)

任何人都可以帮助代码检查 $messagefield 对数组吗?

(我知道也许有更好的方法,但目前这对我们有用!)

4

2 回答 2

1
$i = 0;
$wordlist = array(' cialis', ' viagra');

while ($i < count($wordlist) && $noemail == false) {
  if (strpos($messagefield, $wordlist[$i]) !== false) {
    $noemail = true;
  }
  $i++;
}
于 2013-10-07T11:59:38.083 回答
0
  1. 最好使用 stripos(不区分大小写的 strpos 版本)。
  2. 试试下面的代码:

    $a = array('cialis', '伟哥'); for ($i = 0; $i < count($a); $i++) if(stripos($messagefield, $a[$i]) !== false){ $noemail = true; 休息; } }

于 2013-10-07T11:56:01.167 回答