0

我的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从我的 url 中删除这些。为什么会出现这些?

4

2 回答 2

4

在 preg_replace 之前使用urldecode 。

$news_title = urldecode($news_title);
于 2013-09-12T11:25:36.890 回答
2

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

于 2013-09-12T11:24:33.947 回答