-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug: Reverse routing fails for routes with regex containing parenthesis #7237
Labels
bug
Verified issues on the current code behavior or pull requests that will fix them
Comments
csg-luke
added
the
bug
Verified issues on the current code behavior or pull requests that will fix them
label
Feb 9, 2023
working with: $routes->addPlaceholder('imgFileExt', '.*(?:jpg|png)'); |
I don't want to permit Route like
|
kenjis
removed
the
bug
Verified issues on the current code behavior or pull requests that will fix them
label
Feb 19, 2023
Workaround: $routes->addPlaceholder('img', '.*\.jpg|.*\.png');
$routes->get('images/(:img)', 'Home::index/$1'); |
kenjis
added
the
bug
Verified issues on the current code behavior or pull requests that will fix them
label
Mar 25, 2023
This was referenced Aug 29, 2023
Try #7880 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
PHP Version
8.0
CodeIgniter4 Version
4.3.1
CodeIgniter4 Installation Method
Composer (using
codeigniter4/appstarter
)Which operating systems have you tested for this bug?
Linux
Which server did you use?
apache
Database
MariaDB 10.6
What happened?
Reverse routing is failing for routes with regex containing parenthesis
Error: preg_match(): Compilation failed: missing closing parenthesis at offset 19,
vendor/codeigniter4/framework/system/Router/RouteCollection.php
line: 1238
Looking at the RouteCollection.php line 1211
preg_match_all('/\(([^)]+)\)/', $from, $matches);
It appears the regex is only matching to the first parenthesis and losing the rest.
Steps to Reproduce
Expected Output
<base_url>/images/test.jpg
Anything else?
No response
The text was updated successfully, but these errors were encountered: