mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-02-11 06:28:40 +00:00
fix uri parsing with fragment
This commit is contained in:
parent
2379a8a09f
commit
9bed188175
|
|
@ -192,10 +192,17 @@ final class UriFactory
|
||||||
*/
|
*/
|
||||||
private static function unique(string $url) : string
|
private static function unique(string $url) : string
|
||||||
{
|
{
|
||||||
$parts = \explode('&', \str_replace('?', '&', $url));
|
$parts = \explode('&', \str_replace('?', '&', $url));
|
||||||
$query = '';
|
$query = '';
|
||||||
|
$partCount = \count($parts);
|
||||||
|
$fragment = '';
|
||||||
|
|
||||||
if (\count($parts) > 1) {
|
if (($fragStart = \strripos($parts[$partCount - 1], '#')) !== false) {
|
||||||
|
$fragment = \substr($parts[$partCount - 1], $fragStart);
|
||||||
|
$parts[$partCount - 1] = \substr($parts[$partCount - 1], 0, $fragStart);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($partCount > 1) {
|
||||||
$pars = \array_slice($parts, 1);
|
$pars = \array_slice($parts, 1);
|
||||||
$length = \count($pars);
|
$length = \count($pars);
|
||||||
$url = $parts[0];
|
$url = $parts[0];
|
||||||
|
|
@ -214,7 +221,7 @@ final class UriFactory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $url . (!empty($query) ? '?' . \rtrim($query, '&') : '');
|
return $url . (!empty($query) ? '?' . \rtrim($query, '&') : '') . $fragment;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user