2012-09-30 42 views
0

正如標題中提到的,我正在構建內容管理系統,並且正在嘗試將圖案化的網址加入到系統中。 作爲其中的一部分,可以將模塊分配給基本句柄,然後將參數傳遞給它。PHP內容管理系統網址模式匹配

使用正則表達式我想匹配URL並能夠從中提取通配符信息。 一般格式如下。

http://i3network.net/module/ 
http://i3network.net/module/action/ 
http://i3network.net/module/action/id/ 
http://i3network.net/module/action/id/subaction/ 

我目前正在通過使每個模塊4的正則表達式(已啓用此功能)運行此從數據庫加載並單獨檢查。

我遇到的問題是表達式匹配第一個,然後不通過順序繼續。

這是我目前正在使用的第一級表達式。

/^module\// 

任何幫助,非常感謝!

+2

而不是正則表達式,爲什麼不''爆炸('/',$ uri)'並提取每個如果它存在? –

+0

你使用Apache(htaccess)來處理重定向嗎? – ryanve

+0

@Michael:2個原因;這個檢查是從數據庫完成的,我把表達式從數據庫拉到ch eck他們,我不希望它在任何時候爆炸點都等於模塊名稱時總是匹配。 – ajdi

回答

0

我使用/^photography$//^photography\/([a-zA-Z0-9_-])*$/,並且/^photography\/([a-zA-Z0-9_-])*\/([a-zA-Z0-9_-])*/確認使用哪個模塊(與另一人([a-zA-Z0-9_-])*\/每個級別更深,然後/^photography\/(.*?)//^proofs\/(.*?)\/(.*?)/獲得「行動」和「身份證(additionally with another /(.*?) /`爲每個子動作更深入。它都在PHP中處理 - 我從數據庫中獲取所有表達式,然後通過它們循環。