Urldecode в рубине?
Как преобразовать
www.bestbuy.com/site/Electronics\Audio\abcat0200000.c=3fid=3dabcat0200000
в исходный формат?
www.bestbuy.com/site/Electronics/Audio/abcat0200000.c?id=abcat0200000
Есть ли urldecode
?
Ответы
Ответ 1
Ну, дело с =3f
и =3d
является кодировкой с кавычками для печати. Ruby может декодировать его с помощью метода .unpack("M")
.
Обратная косая черта? Они просто странные и неправильные. Вероятно, было бы безопасно заменить строки на /
, так как обратная косая черта не должна начинаться с URL.
Ответ 2
Лучший метод URI.unescape
:
decoded_uri = URI.unescape(encoded_uri)
Ответ 3
В Ruby эквивалент PHP urldecode
- CGI::unescape
.
Ответ 4
Через decode
:
require 'uri'
URI.decode(encoded_uri)