[英]Php Regular Expression Complex Matching
我正在开发一个php mvc路由系统,我需要我的路由器能够获取url的各个部分并相应地映射它,如下例所示:
url = controller/method/parameters/another/something/page/7
应映射到:
controller = controller, method = method, parameters = parameters/another/something, page = 7
目前我只能匹配
controller/method/parameter/page/7
这个正则表达式:
{controller}/{method}/{parameters:[a-z0-9-]+}/page/{page:\d+}
这转换成这种模式:
/^(?P<controller>[a-z-]+)\/(?P<method>[a-z-]+)\/(?P<parameters>[a-z0-9-]+)\/page\/(?P<page>\d+)$/
我正在使用命名捕获来获取部件。 我需要帮助正则表达式用于获得如上所述的结果。
您需要在参数的字符类中允许/
s。
/^(?P<controller>[a-z-]+)\/(?P<method>[a-z-]+)\/(?P<parameters>[a-z0-9\/-]+)\/page\/(?P<page>\d+)$/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.