Router::_parseExtension PHP Method

_parseExtension() protected static method

Parses a file extension out of a URL, if Router::parseExtensions() is enabled.
protected static _parseExtension ( string $url ) : array
$url string URL.
return array Returns an array containing the altered URL and the parsed extension.
    protected static function _parseExtension($url)
    {
        $ext = null;
        if (static::$_parseExtensions) {
            if (preg_match('/\\.[0-9a-zA-Z]*$/', $url, $match) === 1) {
                $match = substr($match[0], 1);
                if (empty(static::$_validExtensions)) {
                    $url = substr($url, 0, strpos($url, '.' . $match));
                    $ext = $match;
                } else {
                    foreach (static::$_validExtensions as $name) {
                        if (strcasecmp($name, $match) === 0) {
                            $url = substr($url, 0, strpos($url, '.' . $name));
                            $ext = $match;
                            break;
                        }
                    }
                }
            }
        }
        return compact('ext', 'url');
    }