file_get_contents()不起作用,因为url包含&和%20

时间:2012-08-28 20:27:45

标签: php

我使用file_get_contents()来读取远程文件。它适用于普通的字符网址,但是,客户端有一些类似

的文件
http://www.site.org/?m=sp_view_doc&file=publicpolicy/shared%20documents/therapeutic%20discovery%20project%20credit%20general%20guide.pdf

它在源代码中显示了这个

http://www.site.org/?m=sp_view_doc&file=publicpolicy/shared%20documents/therapeutic%20discovery%20project%20credit%20general%20guide.pdf

我试过urldecode(),但没有用。我该如何避免这个问题?

3 个答案:

答案 0 :(得分:2)

只需一个简单的str_replace("&","&",$url)即可。

%20在网址中完全可以,因为它只代表一个空格,因此您无需担心它。

答案 1 :(得分:0)

您是否尝试过html_entity_decode(urldecode($string))

答案 2 :(得分:0)

使用rawurldecode它会将%20s转换为空格而不是像urldecode那样的加号。