Habari\Utils::glob_to_regex PHP Méthode

glob_to_regex() public static méthode

Returns a regex pattern equivalent to the given glob pattern
public static glob_to_regex ( string $glob ) : string
$glob string Glob to return
Résultat string regex pattern with '/' delimiter
    public static function glob_to_regex($glob)
    {
        $pattern = $glob;
        // braces need more work
        $braces = array();
        if (preg_match_all('/\\{.*?\\}/', $pattern, $m)) {
            foreach ($m[0] as $raw_brace) {
                $braces[preg_quote($raw_brace)] = '(?:' . str_replace(',', '|', preg_quote(substr($raw_brace, 1, -1), '/')) . ')';
            }
        }
        $pattern = preg_quote($pattern, '/');
        $pattern = str_replace('\\*', '.*', $pattern);
        $pattern = str_replace('\\?', '.', $pattern);
        $pattern = str_replace(array_keys($braces), array_values($braces), $pattern);
        return '/' . $pattern . '/';
    }