2011-05-20 51 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的作品。