Я пытаюсь открыть страницу с window.open, и она не работает. Показанный путь похож на xyz/a%20b%20c%20.pdf, но он должен быть xyz/abc.pdf. Если я удаляю % и 20 вручную, это работает, как я могу удалить эти символы с помощью PHP?
window.open
xyz/a%20b%20c%20.pdf
xyz/abc.pdf
%
20
Использовать urldecode :
(PHP 4, PHP 5) urldecode - декодирует URL-кодированную строку Описание строка urldecode (string $str) Декодирует любую кодировку% ## в данной строке. Символы плюса ('+') декодируются до пробела.
(PHP 4, PHP 5) urldecode - декодирует URL-кодированную строку
Описание
строка urldecode (string $str) Декодирует любую кодировку% ## в данной строке. Символы плюса ('+') декодируются до пробела.
string $str
echo urldecode('xyz/a%20b%20c%20.pdf');
Вам необходимо urldecode (как указано выше).
Однако вы говорите, что можете удалить% 20, и он будет работать. Я бы сказал, что они вам нужны, они декодируют в пробелы. Проверьте это с помощью этого онлайн-декодера URL:
http://www.convertstring.com/EncodeDecode/UrlDecode
он декодирует до:
xyz / a b c .pdf
не
хуг / abc.pdf
Это называется кодировкой URL. Вам нужно расшифровать строку. Если вы используете jQuery, вы должны проверить плагин URL Encode .