2014-02-11 5 views
0

Я получаю результаты через webservice, работающий на NUSOAP 0.7.3 и PHP 4.4.9. Запрос XML десериализации в массив, который имеет элемент, содержащий URL:PHP, имеющий проблемы с анализируемым URL из XML

http://results-demo.talegent.co.nz/DesktopModules/Platform/RateVideo.aspx?VID=/////2MAAAAJc2NyZWVuaW5nDTc2ZjVlNTY3LWVmODUxAAAAAAA=

Я могу эхо этого URL из нормально, но как только я пытаюсь выполнить какие-либо операции на таких, как назначить в качестве аргумента функция, с которой работает мой скрипт.

Эта проблема, как представляется, связана с длиной и символами значения VID. Если я укорачиваю значение, например. '2MAAAAJc2NyZWVuaW5nDTc2ZjVlN' и удалить косые черты и знак равенства на конце, он отлично работает. Итак, существует ли максимальная длина значения VID и должна ли строка запроса быть закодирована перед отправкой в ​​запросе xml?

Заранее спасибо.

+0

, пожалуйста, разместите соответствующий код, который ломается. – castis

ответ

0

Попробуйте передать VID вашей функции, используя urlencode(), а затем удалите ее по конце функции. Не видя вашей функции, я не могу быть более конкретным.

$var = urlencode("VID=/////2MAAAAJc2NyZWVuaW5nDTc2ZjVlNTY3LWVmODUxAAAAAAA="); 

someFunction($var) 
{ 
    $url = "http://results-demo.talegent.co.nz/DesktopModules/PlatformRateVideo.aspx?VID=".urldecode($var); 
} 

См на PHPFiddle: http://phpfiddle.org/main/code/vfi-yee

0

решен вопрос путем взрыва URL на знак вопроса и globalling результирующий массив вместо того, чтобы проходить через, чтобы функционировать в качестве аргумента. Не очень, но это работает.