protected function match($operator, $pattern, $value)
{
$value = strtolower($value);
$pattern = strtolower($pattern);
switch ($operator) {
case '=':
return $value === $pattern;
case '!=':
return $value !== $pattern;
case '^=':
return preg_match('/^' . preg_quote($pattern, '/') . '/', $value);
case '$=':
return preg_match('/' . preg_quote($pattern, '/') . '$/', $value);
case '*=':
if ($pattern[0] == '/') {
return preg_match($pattern, $value);
}
return preg_match("/" . $pattern . "/i", $value);
}
return false;
}