Php 如何从URI获取正则表达式,如在Laravel路由中

Php 如何从URI获取正则表达式,如在Laravel路由中,php,regex,Php,Regex,我想得到一个正则表达式,用于从URI解析REUQEST_URI 例如: Route('/news/{author}/{id}/', function ($args){ echo $args['id']; echo $args['author']; }); function Route($uri, callable $func, array $args = null) { code...... $func($args); } 正如你所理解的,我重新发明了轮子。我

我想得到一个正则表达式,用于从URI解析REUQEST_URI

例如:

Route('/news/{author}/{id}/', function ($args){
    echo $args['id'];
    echo $args['author'];
});

function Route($uri, callable $func, array $args = null)
{
    code......
    $func($args);
}
正如你所理解的,我重新发明了轮子。我只是想弄清楚如何从uri获取laravel中的正则表达式。我试着使用正则表达式和explode,但没有什么好结果。

Laravel router在内部使用,所以查看其源代码可能是个好主意

尤其是在文件中

如果您想了解symfony路由器的工作原理,请参阅(与Laravel类似,但Laravel是其上的另一个抽象层)