Php Yii-解析自定义URL
我需要将自定义url解析为数据。URL可能如下所示:Php Yii-解析自定义URL,php,regex,yii,Php,Regex,Yii,我需要将自定义url解析为数据。URL可能如下所示: http://host.com/categoryXXX/brandYYY/markZZZ/page/1/otherparameters/othervalues 其中前三个参数基本上是前缀+值对(类别-前缀,XXX-值)。除了第一个(类别)之外,它们可能不都存在 所有其他参数都是可选的,可能存在也可能不存在,并且它们也是成对的“键/值”,即Yii的常用路径格式 我真的不知道如何解析如此复杂的URL。基本上,我需要一个合适的urlManager
http://host.com/categoryXXX/brandYYY/markZZZ/page/1/otherparameters/othervalues
其中前三个参数基本上是前缀+值对(类别-前缀,XXX-值)。除了第一个(类别)之外,它们可能不都存在
所有其他参数都是可选的,可能存在也可能不存在,并且它们也是成对的“键/值”,即Yii的常用路径格式
我真的不知道如何解析如此复杂的URL。基本上,我需要一个合适的urlManager规则和一个工作机制来解析它们
非常感谢您的建议。/\/类别(?p[^\/]*)(?:\/品牌(?p[^\/]*))?(?:\/标记(?p[^\/]*))?/i
/\/category(?P<category_id>[^\/]*)(?:\/brand(?P<brand_id>[^\/]*))?(?:\/mark(?P<mark_id>[^\/]*))?/i
这将为您要查找的所有字段创建命名捕获。品牌标识和标记标识是可选的
工作版本:
是否可以对其进行修改,使标记和品牌可以互换?如果您不知道它们的顺序,只需运行单独的正则表达式即可。类别:/\/类别(?P[^\/\?]*)/i品牌:/\/品牌(?P[^\/\?]*)/i标记:/\/标记(?P[^\/\?]*)/i