gpt4 book ai didi

php - 检查条件并通过 Zend 中的 Regex 识别 url 中的模式

转载 作者:行者123 更新时间:2023-12-03 19:15:47 25 4
gpt4 key购买 nike

我正在实现 Zend Regex 路由,并且必须对 url 执行多次检查。例如,如果这是我的网址:

http://localhost/application/public/index.php/module/controller/action

这是我的引导文件中的正则表达式条件,当 url 不包含“login”时匹配:

$router->addRoute('ui', new Zend_Controller_Router_Route_Regex(
'^((?!login/).)*$',
array(
'module' => 'mod1',
'controller' => 'cont1',
'action' => 'action1'
),
array( )
));

现在我还想从 URL 中识别模式:([^-]*)/([^-]*)/([^-]*) 以了解模块, Controller 和操作,以便我可以路由到它。

如何实现?

最佳答案

我对 Zend 一无所知,只知道正则表达式:

^(?=(?:(?!login/).)*$).*?/([^-/]*)/([^-/]*)/([^-/]*)/?$

匹配:

entire match: "http://localhost/application/public/index.php/module/controller/action", from 0 to 70
- group(1) = "module"
- group(2) = "controller"
- group(3) = "action"

在输入上:

http://localhost/application/public/index.php/module/controller/action

(?=((?!login/).)*$) 部分确保字符串中没有 login/,并且 ( [^-/]*)/([^-/]*)/([^-/]*)/?$ 抓取结束前的最后三个 .../输入的 ($)。

HTH

关于php - 检查条件并通过 Zend 中的 Regex 识别 url 中的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5298353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com