mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-07-11 20:02:13 +00:00
[TASK] Fixed parameter matching regex when using multiple optional parameters.
This commit is contained in:
@@ -277,7 +277,7 @@ abstract class RouterEntry {
|
|||||||
// Check for optional parameter
|
// Check for optional parameter
|
||||||
if($lastCharacter === '?') {
|
if($lastCharacter === '?') {
|
||||||
$parameter = substr($parameter, 0, strlen($parameter)-1);
|
$parameter = substr($parameter, 0, strlen($parameter)-1);
|
||||||
$regex .= '(?:(?:\/{0,1}(?P<'.$parameter.'>'.$parameterRegex.')){0,1}\\/{0,1})';
|
$regex .= '(?:(?:\/{0,1}(?P<'.$parameter.'>[^\/]*)))\\/{0,1}';
|
||||||
$required = false;
|
$required = false;
|
||||||
} else {
|
} else {
|
||||||
$regex .= '(?:\\/{0,1}(?P<' . $parameter . '>'. $parameterRegex .')\\/{0,1})';
|
$regex .= '(?:\\/{0,1}(?P<' . $parameter . '>'. $parameterRegex .')\\/{0,1})';
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class RouterResource extends RouterEntry {
|
|||||||
|
|
||||||
$route = rtrim($this->url, '/') . '/{id?}/{action?}';
|
$route = rtrim($this->url, '/') . '/{id?}/{action?}';
|
||||||
|
|
||||||
$parameters = $this->parseParameters($route, $url, '[0-9]*?');
|
$parameters = $this->parseParameters($route, $url);
|
||||||
|
|
||||||
if($parameters !== null) {
|
if($parameters !== null) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user