PHP编码url空格

时间:2013-01-23 10:30:12

标签: php url

  

可能重复:
  Best practices for URL with space and special characters

我正在尝试制作“漂亮”的网址,我想知道人们如何处理空白空间,例如,如果我正在创建一个带有标题的新论坛帖子:

awesome thread title

我想用-符号替换空格,所以我应该得到类似的内容:

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

现在它似乎正在工作,但如果用户写了

我应该怎么做

some-title

这会在从数据库中获取记录时破坏我的代码,因为我会将-符号替换为空格,而数据库中的行名实际上会-,因此我找不到任何内容。

我可以举出更多例子......

3 个答案:

答案 0 :(得分:2)

您不应该依赖网址的标题部分来查找数据库中的元素。在前面添加一些ID并忽略标题。查看您当前在stackoverflow中查看的页面的URL ...

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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