diff --git a/src/Pecee/SimpleRouter/Route/LoadableRoute.php b/src/Pecee/SimpleRouter/Route/LoadableRoute.php index 421f863..8dc9b99 100644 --- a/src/Pecee/SimpleRouter/Route/LoadableRoute.php +++ b/src/Pecee/SimpleRouter/Route/LoadableRoute.php @@ -74,7 +74,7 @@ abstract class LoadableRoute extends Route implements ILoadableRoute $regex = sprintf(static::PARAMETERS_REGEX_FORMAT, $this->paramModifiers[0], $this->paramOptionalSymbol, $this->paramModifiers[1]); - if (preg_match_all('/' . $regex . '/', $this->url, $matches)) { + if (preg_match_all('/' . $regex . '/u', $this->url, $matches)) { $this->parameters = array_fill_keys($matches[1], null); } } diff --git a/src/Pecee/SimpleRouter/Route/Route.php b/src/Pecee/SimpleRouter/Route/Route.php index 765515a..87ffca0 100644 --- a/src/Pecee/SimpleRouter/Route/Route.php +++ b/src/Pecee/SimpleRouter/Route/Route.php @@ -116,7 +116,7 @@ abstract class Route implements IRoute // Ensures that hostnames/domains will work with parameters $url = '/' . ltrim($url, '/'); - if (preg_match_all('/' . $regex . '/', $route, $parameters)) { + if (preg_match_all('/' . $regex . '/u', $route, $parameters)) { $urlParts = preg_split('/((\-?\/?)\{[^}]+\})/', rtrim($route, '/')); @@ -154,7 +154,7 @@ abstract class Route implements IRoute $urlRegex = preg_quote($route, '/'); } - if (preg_match('/^' . $urlRegex . '\/?$/', $url, $matches) > 0) { + if (preg_match('/^' . $urlRegex . '\/?$/u', $url, $matches) > 0) { $values = []; diff --git a/test/RouterUrlTest.php b/test/RouterUrlTest.php index f669632..f7d986d 100644 --- a/test/RouterUrlTest.php +++ b/test/RouterUrlTest.php @@ -31,7 +31,7 @@ class RouterUrlTest extends PHPUnit_Framework_TestCase public function testUnicodeCharacters() { // Test spanish characters - TestRouter::get('/cursos/listado/{listado?}/{category?}', 'DummyController@method1', ['defaultParameterRegex' => '[\w\p{L}\s-\í]+']); + TestRouter::get('/cursos/listado/{listado?}/{category?}', 'DummyController@method1', ['defaultParameterRegex' => '[\w\p{L}\s-]+']); TestRouter::debugNoReset('/cursos/listado/especialidad/cirugía local', 'get'); $this->assertEquals('/cursos/listado/{listado?}/{category?}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());