preg_match для выражения регулярных выражений

Пожалуйста, помогите мне преобразовать этот код в preg_match

$blacklist = $db->query("SELECT `content` FROM `" . TABLE_PREFIX . "blacklist` WHERE `type`='$type'");
while ($blacklisted = $db->fetch_array($blacklist))
{
    if (is_array($input))
    {
        foreach ($input as $entry)
        {
            if (eregi($blacklisted['content'], $entry))
                print_error($msg);
        }
    }
    else if (eregi($blacklisted['content'], $input))
    {
        print_error($msg);
    }
}

1 ответ

Решение

eregi раньше использовался таким образом, чтобы видеть, находится ли одна строка в другой. Это было не правильное использование. Вы можете сделать то же самое с stripos

$blacklist = $db->query("SELECT `content` FROM `" . TABLE_PREFIX . "blacklist` WHERE `type`='$type'");
while ($blacklisted = $db->fetch_array($blacklist))
{
    if (is_array($input))
    {
        foreach ($input as $entry)
        {
            if (false !== stripos($entry, $blacklisted['content']))
                print_error($msg);
        }
    }
    else if (false !== stripos($input, $blacklisted['content']))
    {
        print_error($msg);
    }
}
Другие вопросы по тегам