如何在URL中将空格替换为连字符

时间:2010-07-23 01:39:44

标签: php mysql mod-rewrite url-rewriting

我有一些数据输入到带空格的数据库中。例如名字和姓氏。然后我需要从数据库中调用该数据并将其显示为链接,因此我有一个友好的URL。我不确定我是否应该使用mod-rewrite或php。什么是最好的解决方案?

如下所示的解决方案似乎不起作用

str_replace('- ','-',$url);

echo "<p><span class=\"barting\">"."<a href=$url=\"jobs/".$row['jobid']."/".$row['title']."\">".$row['title']."</a></span>";

echo $url

提前感谢您的帮助

4 个答案:

答案 0 :(得分:3)

你写了

str_replace('- ','-',$url);

但是这段代码不能替换空格,而是替换你应该使用的空格:

$url = str_replace(' ','-',$url);

或者您可以使用urlencode

答案 1 :(得分:1)

尝试urlencode()

urlencode($url)

答案 2 :(得分:0)

您应该使用urlencode(),它会将空格转换为%20。但是如果你想做你正在做的事情,你必须记住str_replace RETURNS替换的字符串,它不会修改你传入的var。

所以你需要 $ url = str_replace('',' - ',$ url);

答案 3 :(得分:0)

不需要重写URL。听起来你的目标是简单地构建一个看起来像这样的URL:

http://www.example.com/firstname-lastname/jobs/1234567/sometitle

要仅用$ url中的连字符替换空格,请尝试

str_replace(" ", "-", $url);