我想在PHP中創建一個url路由器,就像django的一樣。PHP preg_match url的一部分
問題是,我不太瞭解php正則表達式。
我希望能夠匹配這樣的網址:
/post/5/
/article/slug-goes-here/
我有正則表達式的數組:
$urls = array(
"(^[/]$)" => "home.index",
"/post/(?P<post_id>\d+)/" => "home.post",
);
數組中的第一個正則表達式的工作相匹配的家頁面/
但我不能得到第二個工作。
下面是我使用,以配合它們的代碼:
foreach($urls as $regex => $mapper) {
if (preg_match($regex, $uri, $matches)) {
...
}
}
我也應該注意到,在上面的例子中,我試圖在URL中post_id
匹配:/post/5/
,這樣我可以通過5
沿着我的方法。
正則表達式應該有適當的分隔符 – stillstanding 2010-11-18 05:37:09