从数据库创建URL

时间:2011-03-03 06:31:25

标签: url mod-rewrite replace

我正在尝试根据用户输入的信息创建干净的URL。我在.htaccess文件中有这个。

RewriteRule ^[^/]+/$ /records.php [QSA,L]

这适用于去往如此地址的地址:example.com/blah/。我所做的是打印“blah”类别的记录或用户输入的任何其他记录(或我链接到的)。当用户输入并存储具有空格的类别时,会出现问题。我想用空格保持类别的完整性,但我还需要创建该类别的URL友好版本。我正在链接到类似的类别:

$nospace = str_replace(" ", "-", $row['category']) ; 
echo "<a href=/".$nospace."/>" . $nospace . "</a>";

到达目标网址时会出现问题。如果类别有空格,但我链接到带有 - 的类别,我自然不会从该类别获得任何内容。它不存在。

如何将空间保留在类别名称中,但同时能够创建URL友好类别名称并链接到该名称?

1 个答案:

答案 0 :(得分:0)

php(您正在使用它)支持urlencodeurldecode您可以使用网址编码类别构建链接,然后在另一端url解码它们。 =)

echo '<a href="/'.urlencode($row['category']).'">'.$row['category']."</a>";