From b9be7695a7d15e74751ad9e6af0e5059f4193aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Sessing=C3=B8?= Date: Sat, 19 Dec 2015 07:15:32 +0100 Subject: [PATCH] [TASK] Fixed parameter matching regex when using multiple optional parameters. --- src/Pecee/SimpleRouter/RouterEntry.php | 2 +- src/Pecee/SimpleRouter/RouterResource.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Pecee/SimpleRouter/RouterEntry.php b/src/Pecee/SimpleRouter/RouterEntry.php index 67740bd..6e8d8de 100644 --- a/src/Pecee/SimpleRouter/RouterEntry.php +++ b/src/Pecee/SimpleRouter/RouterEntry.php @@ -277,7 +277,7 @@ abstract class RouterEntry { // Check for optional parameter if($lastCharacter === '?') { $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; } else { $regex .= '(?:\\/{0,1}(?P<' . $parameter . '>'. $parameterRegex .')\\/{0,1})'; diff --git a/src/Pecee/SimpleRouter/RouterResource.php b/src/Pecee/SimpleRouter/RouterResource.php index 0dff961..63a5630 100644 --- a/src/Pecee/SimpleRouter/RouterResource.php +++ b/src/Pecee/SimpleRouter/RouterResource.php @@ -51,7 +51,7 @@ class RouterResource extends RouterEntry { $route = rtrim($this->url, '/') . '/{id?}/{action?}'; - $parameters = $this->parseParameters($route, $url, '[0-9]*?'); + $parameters = $this->parseParameters($route, $url); if($parameters !== null) {