2011-05-20 49 views
2

我開發使用笨一個PHP的網站,並希望在如何去實現清潔的網址,而不是數字ID一些幫助。漂亮的URL,而不是ID在PHP /笨

例如,代替www.site.com/category/view/1,我想是這樣www.site.com/category/view/automobiles

類別=類
視圖=方法
1 =變量

我的研究
我新的PHP和笨,到目前爲止,我如何想做到這一點是,檢索URI->段(3),然後檢查數據庫的相應數據庫中的ID。爲此,我可能需要使用唯一的類別名稱,我會這樣做。

我的問題
但我的問題是,如果類別名稱包含特殊字符或有字符串中的空格,會發生什麼?我想將空格轉換爲連字符或下劃線,並省略任何其他特殊字符。雖然檢索,我想它的原始形式,所以我可以爲ID檢查數據庫解碼URI段。

+0

儘量突出您的實際問題的SO。如果你這樣寫,找到你的問題是非常耗時的。我在編輯你的問題。今後請繼續。 – Tareq 2011-05-20 05:10:40

+0

[在codeigniter中使用slu]]可能的重複(http://stackoverflow.com/questions/3305786/using-slugs-in-codeigniter) – Jonas 2011-05-20 05:35:12

+0

@Tareq ..我道歉。將從此繼續。 – 2011-05-20 05:47:42

回答

1

,讓您無需解碼,則不應使用任何特殊字符,但連字符。按照您的描述,您可以使用DB作爲您的需求。

0

您需要只需添加一個新列到你的數據庫名爲「乾淨的URL」並建立索引。然後,當添加新的類別的東西,從一個函數的名稱建立一個乾淨的URL字符串。

function clean_url($string) 
{ 
    return str_replace(array('+', '!', '&'), '_', $string); 
} 

你可以添加你不想要的字符。然後在數據庫中搜索控制器中的匹配刺激。

這是怎麼WordPress的作品。