PHP urlencode возвращает неожиданные результаты - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь закодировать следующее, используя urlencode:

 <t:RequestSecurityTokenResponse xmlns:t 

, который должен быть закодирован как:

 %3Ct%3ARequestSecurityTokenResponse+xmlns%3At 

Однако результат urlencode следующий:

 %26lt%3Bt%3ARequestSecurityTokenResponse+xmlns%3At

Мне кажется, что я упускаю здесь что-то чрезвычайно очевидное, но я не смог понять этого. Есть предложения?

1 Ответ

1 голос
/ 17 июня 2020

Передняя часть закодированной строки выглядит как объект html для <. Похоже, что то, что вы передаете в urlencode, было выполнено через htmlentities. </p>

php > echo urlencode("<t:RequestSecurityTokenResponse xmlns:t");
%3Ct%3ARequestSecurityTokenResponse+xmlns%3At
php > echo urlencode("&lt;t:RequestSecurityTokenResponse xmlns:t");
%26lt%3Bt%3ARequestSecurityTokenResponse+xmlns%3At
...