4

我有一个带空格的网址:

http://mihalko.eu/image/data/ister/Nomad Plus-G-cierno cervena.jpg

(浏览器可以打开此链接)对这个 url(空格=%20)进行 urlencode 的最佳方法是什么?

Nomad%20Plus-G-%20cierno%20cervena.jpg

网址代码:

http%3A%2F%2Fmihalko.eu%2Fimage%2Fdata%2Fister%2FNomad+Plus-G-+cierno+cervena.jpg

(浏览器无法打开此链接)
urlencode 给我这个结果,但我的浏览器不会打开这个 url。

4

3 回答 3

2

使用rawurlencode

echo rawurlencode('Nomad Plus-G- cierno cervena.jpg');
// Nomad%20Plus-G-%20cierno%20cervena.jpg

如果您对编码为 as 的空格感到满意,+那么只需使用urlencode即可。

于 2012-06-07T17:02:03.680 回答
0

您可以搜索最后一个“/”并将 urlencode 用于字符串的最后一部分,如下所示:

$pos=strrpos($url,"/")+1;
$newurl=substr($url,0,$pos) . rawurlencode(substr($url,$pos));

如果您唯一的问题是空格,那么您可以使用

str_replace(" ","%20",$url);
于 2012-06-07T17:07:30.143 回答
0

str_replace('%2F','/',rawurlencode('url')); 这是有效的。

于 2012-06-07T17:59:29.133 回答