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

时间:2015-07-25 22:23:46

标签: php string var-dump

我有一个从url中抓取数据并将其作为字符串变量返回的方法。目前,如果我放入自己的网址,该方法是有效的,但是当我插入生成的网址时,它无法正常工作。

e.g。

如果将以下字符串插入变量并传递它,则以下字符串正常工作:

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个字符,但是它会打印字符串(158)。我认为这与它不起作用的事实有关,但我甚至不确定......

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

THX

1 个答案:

答案 0 :(得分:2)

154-138 = 16

字符串

中有4个&

& HTML编码为&

所以你的字符串似乎是HTML编码的 - 在浏览器中你不会看到编码,除非你"查看源代码"。

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