一个非常简单的问题,在这里可能已经解决了很多时间,但我没有得到我想要的。如何将此网址转换为%20?
我有一个形象的网址是这样的:
$image = 'http://perfumepalace.arctechsolution.com/image/cache/data/another/For Her/Believe 100ml EDP-150x150.jpg';
,并希望输出以这种形式
http://perfumepalace.arctechsolution.com/image/cache/data/another/For%20Her/Believe%20100ml%20EDP-150x150.jpg
是ofcourse你会告诉我,我可以使用进行urlencode或rawurlencode。相信我,我已经尝试过,仍然没有运气。
用urlencode我得到这样
http%3A%2F%2Fperfumepalace.arctechsolution.com%2Fimage%2Fcache%2Fdata%2Fanother%2FFor+Her%2FBelieve+100ml+EDP-150x150.jpg
而且随着rawurlencode我收到这样的输出:
http%3A%2F%2Fperfumepalace.arctechsolution.com%2Fimage%2Fcache%2Fdata%2Fanother%2FFor%20Her%2FBelieve%20100ml%20EDP-150x150.jpg
随着str_replace
我能得到什么我想是这样的:
str_replace('+', '%20', $image);
将导致:http://perfumepalace.arctechsolution.com/image/cache/data/another/For%20Her/Believe%20100ml%20EDP-150x150.jpg
但我想让他们使用urlencode或rawurlencode。但是这些函数甚至可以编码斜线/部分。
有没有什么办法可以只对url中的空格进行url编码?
编辑:是的,我可以使用basename()或pathinfo来只编码部分网址。但是,目录名称也可能包含空格字符,因此仅转换文件名在这里也是不可能的。
实际上我想知道我们是否可以在不影响fullurl的'/'的情况下使用urlencode或rawurlencode。我不希望正则表达式的建议更高。
注意:并发症部分是URL路径中'她的'目录部分,目录的级别也不固定。
@Rikesh我希望你能在回答之前阅读整篇文章。 –
“str_replace”有什么问题?为什么你不想使用它? – Bilal
但是,为什么只需要空格进行编码? –