0

我一直在尝试一些表达式来做到这一点,但没有找到一个有效的。

我想用正则表达式转向/search/test/2(php) 。/search/$query/$page

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

有谁知道一种使用 pre_match 获取数组的方法,该数组仅获取我需要的信息。

提前致谢。

4

2 回答 2

1

试试这个:

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

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

于 2013-05-03T19:14:21.737 回答
0
preg_match('@^/search/([^/]+)(?:/(\d+))?$@', $string, $matches)
于 2013-05-03T19:15:21.930 回答