php垃圾邮件过滤器不使用通配符(星号)
垃圾邮件发送者有问题,我创建了一个函数来过滤垃圾邮件。 然而,如果一个垃圾邮件发送者使用的是php垃圾邮件过滤器不使用通配符(星号),php,wildcard,spam,Php,Wildcard,Spam,垃圾邮件发送者有问题,我创建了一个函数来过滤垃圾邮件。 然而,如果一个垃圾邮件发送者使用的是*S*P*a*M*(中间有星号),我不知何故无法将其过滤掉,当我试图这样将其添加到禁用词列表中时,奇怪的是现在每个“M”都被禁用了 function censor_spam($field_value) { global $setting; $spam = FALSE; $censored_array = explode(",", trim($setting['setting
*S*P*a*M*
(中间有星号),我不知何故无法将其过滤掉,当我试图这样将其添加到禁用词列表中时,奇怪的是现在每个“M
”都被禁用了
function censor_spam($field_value) {
global $setting;
$spam = FALSE;
$censored_array = explode(",", trim($setting['setting_banned_words']));
foreach ($censored_array as $key => $value) {
$trimvalue = trim($value);
if (strpos($field_value, $trimvalue) !== false) {
$spam = TRUE;
}
}
return $spam;
}
星号是否会刺激反垃圾邮件功能
你知道我需要在函数中修改什么来修复吗?
str\u replace(“*”、“$field\u value)代码>-然后运行您的检查。然而,“坏词”列表是相当有缺陷的。@MikeB我想这是一个解决方案,但是有一些负面的副作用,没有人可以再发布任何通配符了,它会被删除。这正是“坏词”解决方案的问题——它是脆弱的。你不会把它从他们的原始信息中漏掉。。就在你扫描它的时候。