- $url = trim($url, '/');
- $url = str_replace('/index.php', '', $url);
-
- $urlparts = parse_url($url);
- if (empty($urlparts)) {
+ try {
+ $url = str_replace('/index.php', '', trim($dirtyUrl, '/'));
+ return (string)(new Uri($url))->withUserInfo('')->withQuery('')->withFragment('');
+ } catch (\Throwable $e) {
+ Logger::warning('Invalid URL', ['dirtyUrl' => $dirtyUrl, 'url' => $url]);