strcasecmp($input, $pattern) === 0, NameMatchModes::Contains => stripos($input, $pattern) !== false, NameMatchModes::StartsWith => strncasecmp($input, $pattern, strlen($pattern)) === 0, NameMatchModes::EndsWith => str_ends_with(strtolower($input), strtolower($pattern)), NameMatchModes::Regex => preg_match($pattern, $input) === 1, }; } }