diff --git a/Uri/UriFactory.php b/Uri/UriFactory.php index a7b38fdf3..7037bf1a0 100644 --- a/Uri/UriFactory.php +++ b/Uri/UriFactory.php @@ -134,6 +134,11 @@ final class UriFactory foreach ($data as $key => $value) { self::setQuery('?' . $key, $value, true); } + + $data = $uri->fragments; + foreach ($data as $key => $value) { + self::setQuery('#' . $key, $value, true); + } } /** @@ -199,6 +204,10 @@ final class UriFactory $url ); + if (\stripos($url, '?') === false && ($pos = \stripos($url, '&')) !== false) { + $url = \substr_replace($url, '?', $pos, 1); + } + /** @var array $urlStructure */ $urlStructure = \parse_url($url); if ($urlStructure === false) {