Удаление кодировки "%" в строке URL - PullRequest
1 голос
/ 02 ноября 2009

Я пытаюсь открыть страницу с window.open, и она не работает. Показанный путь похож на xyz/a%20b%20c%20.pdf, но он должен быть xyz/abc.pdf. Если я удаляю % и 20 вручную, это работает, как я могу удалить эти символы с помощью PHP?

Ответы [ 3 ]

7 голосов
/ 02 ноября 2009

Использовать urldecode :

(PHP 4, PHP 5) urldecode - декодирует URL-кодированную строку

Описание

строка urldecode (string $str) Декодирует любую кодировку% ## в данной строке. Символы плюса ('+') декодируются до пробела.

Пример

echo urldecode('xyz/a%20b%20c%20.pdf');
0 голосов
/ 25 мая 2011

Вам необходимо urldecode (как указано выше).

Однако вы говорите, что можете удалить% 20, и он будет работать. Я бы сказал, что они вам нужны, они декодируют в пробелы. Проверьте это с помощью этого онлайн-декодера URL:

http://www.convertstring.com/EncodeDecode/UrlDecode

он декодирует до:

xyz / a b c .pdf

не

хуг / abc.pdf

0 голосов
/ 02 ноября 2009

Это называется кодировкой URL. Вам нужно расшифровать строку. Если вы используете jQuery, вы должны проверить плагин URL Encode .

...