/** * Strip Url Parameters * @oaram string $urk * @param array $excludedParams * @return string */ public static function stripUrlParameters($url, $excludedParams = []) { $parsedUrl = @parse_url($url); if (!empty($parsedUrl)) { if (!empty($parsedUrl['host'])) { $parsedUrl['host'] = mb_strtolower($parsedUrl['host'], 'UTF-8'); } if (!empty($parsedUrl['fragment'])) { $fragment =& $parsedUrl['fragment']; if (substr($fragment, -1) == '#') { $fragment = substr($fragment, 0, strlen($fragment) - 1); } } if (!empty($parsedUrl['query'])) { if (count($excludedParams)) { parse_str($parsedUrl['query'], $params); $parsedUrl['query'] = http_build_query(array_diff_key($params, array_flip($excludedParams))); } else { unset($parsedUrl['query']); } } } return Router::buildUrl($parsedUrl); }