php 字符串在方法 file_get_contents($var) 中不可用

php string not usable in method file_get_contents($var)

我有一种方法可以从 url 和 returns 中抓取数据作为字符串变量。目前,如果我输入自己的 url,该方法可以正常工作,但是当我插入生成的 url 时,它不起作用。

例如

如果我将以下字符串插入到变量中并传递它,则以下字符串有效:

http://www.rijkswaterstaat.nl/apps/geoservices/rwsnl/awd.php?mode=html&projecttype=windsnelheden_en_windstoten&category=1&loc=ZBWI&net=LMW

但是这个字符串是由另一个来源生成的。我尝试获取它的结果是 (var_dump()):

string(154) "http://www.rijkswaterstaat.nl/apps/geoservices/rwsnl/awd.php?mode=html&projecttype=windsnelheden_en_windstoten&category=1&loc=ZBWI&net=LMW"

该字符串只有 138 个字符,但它打印出 string(158)。我认为这与它不起作用的事实有关,但我什至不确定...

有谁知道如何清理它吗?我发现了其他问题,为什么 var_dump() 显示另一个值然后是字符串的长度,这与不可见字符有关,但没有给出真正的解决方案。

感谢

154-138 = 16

字符串中有 4 个 &

& HTML编码为&

所以您的字符串似乎是 HTML 编码的 - 在浏览器中您看不到编码,除非您 "View Source".

您可以使用 html_entity_decode() 解码字符串,或者,如果可能,请确保您首先获得的字符串未针对 HTML 输出进行编码。