2013-01-23 53 views
0

可能重复:
Best practices for URL with space and special charactersPHP编码URL的空白空间

我试图让 “漂亮” 的网址,我想知道人们是如何做处理空的空间中,例如,如果我创建一个新的论坛主题带有标题:

awesome thread title

我想与-符号来代替空的空间,所以我应该得到的东西,如:

http://website.com/forum/thread/awesome-thread-title

现在,它似乎是工作,但我应该怎么做,如果用户写道

some-title

当从数据库中提取记录时,这会破坏我的代码,因为我会将-符号替换为空白,而数据库中的行名实际上具有-因此我什么也找不到。

我可以给更多的例子......

回答

2

您不应该依赖url的标题部分来查找数据库中的元素。用一些ID加上它并忽略标题。看看你目前正在查看的页面的url地址...

1

不要试图反向工程实际标题在数据库中进行搜索上。当用户创建一个新帖子时,从标题(“Awesome thread title” - >awesome-thread-title)形成一个slu,,确保它在数据库中是唯一的,并将保存在数据库中。

1

通常你还会在数据库中存储“漂亮”的URL片段,并将其用作唯一索引,因为正如你注意到的那样,“美化”是不可逆的。