您現在的位置是:首頁 > PHP正則

?正則路由_幫助文檔_Thinkphp手冊

李清波2015-11-13PHP正則

?正則路由也就是采用正則表達式定義路由的一種方式,依靠強大的正則表達式,能夠定義更靈活的路由規則。

路由表達式支持的正則定義必須以“/”開頭,否則就視為規則表達式。也就是說如果采用:

'#^blog\/(\d+)$#' => 'Blog/read/id/:1'

方式定義的正則表達式不會被支持,而會被認為是規則表達式進行解析,從而無法正確匹配。

下面是一種正確的正則路由定義:

'/^new\/(\d{4})\/(\d{2})$/' => 'News/achive?year=:1&month=:2',

對于正則表達式中的每個變量(即正則規則中的子模式)部分,如果需要在后面的路由地址中引用,可以采用:1、:2這樣的方式,序號就是子模式的序號。

正則定義也支持函數過濾處理,例如:

'/^new\/(\d{4})\/(\d{2})$/' => 'News/achive?year=:1|format_year&month=:2',

其中 year=:1|format_year 就表示對匹配到的變量進行format_year函數處理(假設format_year是一個用戶自定義函數)。

更多的關于如何定義正則表達式就不在本文的描述范疇了。


評論