小编Moh*_*lal的帖子

如何为路由框架进行URL匹配正则表达式?

我已经有一个匹配此模式的路由方法:

/hello/:name
Run Code Online (Sandbox Code Playgroud)

将名称设置为动态路径,我想知道如何制作它:

/hello/{name}    
Run Code Online (Sandbox Code Playgroud)

与正则表达式相同.如何添加可选的尾部斜杠,像这样?

/hello/:name(/)

or

/hello/{name}(/)
Run Code Online (Sandbox Code Playgroud)

这是我用的正则表达式 /hello/:name

@^/hello/([a-zA-Z0-9\-\_]+)$@D
Run Code Online (Sandbox Code Playgroud)

正则表达式是从PHP类自动生成的

private function getRegex($pattern){
        $patternAsRegex = "@^" . preg_replace('/\\\:[a-zA-Z0-9\_\-]+/', '([a-zA-Z0-9\-\_]+)', preg_quote($pattern)) . "$@D";
        return $patternAsRegex;
    }
Run Code Online (Sandbox Code Playgroud)

如果路线是/hello/:name(/)我希望它与可选的东西进行匹配,则继续正常

php regex routing match

1
推荐指数
1
解决办法
4154
查看次数

标签 统计

match ×1

php ×1

regex ×1

routing ×1