URL空间替换cauese 20添加到URL

时间:2013-09-12 11:19:20

标签: php codeigniter url preg-replace space

我的codeigniter控制器名称与asd ASd Aldsds 98Hsds类似。我需要用-符号替换空格。为此,我写了

$news_title = $this->uri->segment(1);

    $news_title = strtolower($news_title);

    $url = preg_replace("![^a-z0-9]+!i", "-", $news_title);

但上述行输出$url为: asd%20asd%20aldsds%2098hsds 如何从我的网址中删除这些%20。这些出现的原因是什么?

2 个答案:

答案 0 :(得分:4)

在preg_replace之前使用urldecode

$news_title = urldecode($news_title);

答案 1 :(得分:2)

似乎...-> uri-> ...将执行URL编码。网址不得有空格。如果你无法避免它们,你需要将它们转换为%20以使网址有效。