我正在尝试从一个正则表达式创建一个字符串。我注意到在Kohana框架的路由系统中,您可以使用类似于正则表达式的东西设置路由。然后,您可以创建匹配您设置的路由的URL。我正在尝试做类似的事情,但我找不到一个干净的方法来做到这一点。例如,我有以下正则表达式:
/^(?<application>\w+)\/(?<controller>\w+)\/(?<method>\w+)\/(?<parameters>\w+)\/?$/
现在我想要能够说“应用程序”等于“a”,“控制器”等于“b”,“方法”等于“c”和“参数”等于“d”。然后,我应该得到一个字符串,将指定值替换为部分。但是我找不到一个好的方法来完成这个任务。我基本上考虑了两种方法:1)使用指定的值替换正则表达式中的对应值,或2)创建一个自定义“正则表达式语法”,可以轻松地使用它来创建字符串,并在需要时将其转换为“合适的”正则表达式。Kohana使用后者,但我认为这两种方法都不太好。您会如何做到这一点?
编辑:我将尝试澄清一下。例如,我使用preg_match()将以下字符串传递给上述正则表达式:“myApplication / myController / myMethod / myParameters”。这将返回一个数组,其中包含一些项,包括4个带有索引“application”,“controller”,“method”和“parameters”的项目,以及相应的值。现在,当我只有那个包含4个项目的数组时,如何使用正则表达式的模式创建字符串“myApplication/myController/myMethod/myParameters”?我应该如何使用PHP实现这一点?
preg_match()
时返回相同的值。我解释清楚了吗? - Frog