preg_match用于正则表达式

时间:2011-04-28 14:11:27

标签: preg-match eregi

请帮我将此代码转换为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 个答案:

答案 0 :(得分:0)

过去常常使用

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);
    }
}