pro*_*mer 4 php regex routes laravel
我的网址是:www.foo.com/some-bar-slug-here/page
如果在上面显示的slug中找到字符串"bar",我无法获取捕获的路径:
Route::any('{myslug}/page/', array('as'=>'bar-page', 'uses'=>'Controllers\MyBar@index'))
->where('myslug','/bar/');
Run Code Online (Sandbox Code Playgroud)
如果我使用正则表达式[0-9A-Za-z\-]+它可以工作,但它不起作用/bar/.有任何想法吗?
我得到了它 ^([0-9A-Za-z\-]+)?bar([0-9A-Za-z\-]+)?
所以更新的路由代码如下所示:
Route::any('{myslug}/page/', array('as'=>'bar-page', 'uses'=>'Controllers\MyBar@index'))
->where('myslug','^([0-9A-Za-z\-]+)?bar([0-9A-Za-z\-]+)?');
Run Code Online (Sandbox Code Playgroud)
奖励:为了使它不区分大小写,我这样做: ^([0-9A-Za-z\-]+)?(?i)bar([0-9A-Za-z\-]+)?
注意:如果您在路径文件中进一步使用此路由的副本,但搜索不同的子字符串,则需要将其命名{myslug}为不同的名称{myslug2},否则Laravel将不会运行所有路由.
| 归档时间: |
|
| 查看次数: |
8538 次 |
| 最近记录: |