0
我正在尝试从用户输入的信息中创建干净的URL。我在我的.htaccess文件中有这个。从数据库创建URL
RewriteRule ^[^/]+/$ /records.php [QSA,L]
这对于去像这样的地址很有用:example.com/blah/。我所做的就是打印“blah”类别的所有记录或用户输入的任何内容(或我链接到的内容)。当用户输入并存储具有空间的类别时,问题就出现了。我想保留类别与空间的完整性,但我也需要创建一个友好的URL类别的版本。我链接到如下类别:
$nospace = str_replace(" ", "-", $row['category']) ;
echo "<a href=/".$nospace."/>" . $nospace . "</a>";
当您到达目标URL时,问题就出现了。如果类别有一个空格,但我使用 - 链接到一个类别,我自然不会从该类别中获得任何内容。它不存在。
如何在类别名称中保留空格,但同时能够创建URL友好的类别名称并链接到它?
太棒了!唯一的问题是urlencode在空格之间添加+而不是 - 。我该如何改变它? – Freddie 2011-03-03 07:33:54
好吧,如果你想要可靠的编码解码,你应该让'urlencode'做它的事情。你使用超级敏感是至关重要的吗?如果是这样,'str_replace('+',' - ',urlencode($ row ['category']))'编码,然后'urldecode(str_replace('+',' - ',$ _ GET ['category' ]))' – Shad 2011-03-03 21:02:52