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