PHP CMS URL 模式匹配

问题描述 投票:0回答:1

正如标题中提到的,我正在构建一个 CMS,并尝试将模式化 URL 融入到系统中。 作为其中的一部分,可以将模块分配给基本句柄,然后将参数传递给它。

使用正则表达式,我想匹配 URL 并能够从中提取通配符信息。 一般格式如下。

http://example.com/module/
http://example.com/module/action/
http://example.com/module/action/id/
http://example.com/module/action/id/subaction/

我目前正在通过从数据库加载每个模块(启用此功能)的 4 个正则表达式并单独检查来运行此程序。

我遇到的问题是表达式与第一个匹配,然后不继续执行订单。

这是我目前在第一级中使用的表达方式。

/^module\//

非常感谢任何帮助!

php regex preg-match
1个回答
0
投票

我使用

/^photography$/
/^photography\/([a-zA-Z0-9_-])*$/
/^photography\/([a-zA-Z0-9_-])*\/([a-zA-Z0-9_-])*/
来确认要使用哪个模块(使用另一个模块 (
[a-zA-Z0-9_-])*\/
表示每个更深的级别,然后使用
/^photography\/(.*?)/
/^proofs\/(.*?)\/(.*?)/
来获取“操作”和'id
(additionally with another
/(.*?)/` 对于每个子操作都更深入,它都是在 PHP 中处理的 - 我从数据库中获取所有表达式,然后循环遍历它们。

© www.soinside.com 2019 - 2024. All rights reserved.