2015-07-25 3 views
1

У меня есть метод, который сбрасывает данные с URL-адреса и возвращает это как строковую переменную. В настоящее время метод работает, если я помещаю свой собственный 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 символов, однако она печатает строку (158). Я думаю, что это имеет какое-то отношение к тому, что он не работает, но я даже не уверен ...

Кто-нибудь есть идеи, как это сделать? Я нашел другие вопросы с вопросом, почему var_dump() показывает другое значение, а затем длину строки, и это имеет какое-то отношение к невидимым символам, но ни одно реальное решение не дано.

Thx

+0

Попробуйте использовать его с помощью '' trim ($ yourVariable) ', если в нем есть только некоторые пробелы. (Также загляните в исходный код, чтобы убедиться, что нет html-тегов или каких-то скрытых символов) – Rizier123

+4

'&' sing получается как HTML-код '&', длина которого не более 5 символов, а не 1. Этот знак всего 4 раза в URL, 4 * 4 = 16. 138 + 16 = 154. Зачем использовать var_dump btw? каков ваш полный код? – Jeffrey

+0

Когда я делаю var_dump, я получаю строку (138) в вашей строке. Но то, что Джеффри упомянул, верно. Когда '&' засчитывается как '&', у вас много символов. – Stony

ответ

2

154-138 = 16

У вас есть 4 & в строке

& HTML закодирован является &

Так что ваша строка, кажется, HTML закодированы - в браузере вы не делаете см. кодировку, если вы не видите «Просмотр источника».

Вы можете использовать html_entity_decode() для декодирования строки или, если возможно, убедитесь, что вы получаете строку, которая не кодируется для вывода HTML в первую очередь.