我正在使用Spiffy-Route庫來路由我的URL。一切都很好,能夠自由路由所需的網址,但我不能添加通配符,因爲它不包含在api中。URL路由 - 正斜槓與尾部斜槓匹配且沒有
我的路線是這樣的:
/{id:\d+}-{string}
意味着我可以路線,它是這樣的:
.com/5-helloworld
但是,當我的路線是這樣的:
.com/5-helloworld/
它由於斜線,不會找到匹配。我曾嘗試過/{id}-{string}/?
,但參數{string}將在其值內包含所有斜線。
我已經經歷了一些正則表達式計算器上的問題,找出如何使斜線和沒有圖案的支持 - 常見的答案是([^/]+)
,但是這塊正則表達式並沒有真正影響到在所有我的情況。
我該怎麼用Spiffy路由器做這件事?
如果我這樣做/{id}-{string}([^/]+)/?
和路線,它是這樣的:根據本回聲/5-hey/
輸出將是5he
代替5hey
:
echo parent::getRouteMatch()->get('id') . parent::getRouteMatch()->get('string');
我將不得不修改的API讓這個工作?
聯合的構想呢? '[^ /] + /?'我不知道斯皮菲。 – AbraCadaver 2014-09-12 20:15:55
@AbraCadaver已經做到了,我不會得到完整的{string}參數,請在一秒鐘內檢查我的編輯。 – Artemkller545 2014-09-12 20:17:13
羽絨投票人,你能解釋你的投票原因嗎? – Artemkller545 2014-09-12 20:36:41