正如标题中提到的,我正在构建一个 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\//
非常感谢任何帮助!
我使用
/^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 中处理的 - 我从数据库中获取所有表达式,然后循环遍历它们。