Preg_match页码

时间:2013-05-03 19:06:44

标签: regex preg-match

我一直在尝试一些表达方式,但没有找到一个有效的方法。

我想用正则表达式将/search/test/2转换为(php)/search/$query/$page

这是我能想到的唯一方法,/^\/search\/(.*)(\/(\d*))?/并且它不起作用,因为我需要页码和之前的/是可选的。

有没有人知道如何通过pre_match获取只获取我需要的信息的数组。

提前致谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

/^\/search\/(?<query>[^\/]*)(?:\/(?<page>\d*))?/

可选择在末尾添加\/?以捕获尾随斜杠。

答案 1 :(得分:0)

preg_match('@^/search/([^/]+)(?:/(\d+))?$@', $string, $matches)