Какая лучшая утилита JavaScript для декодирования URL? Кодирование было бы неплохо, а работа с jQuery - дополнительный бонус.
Функция JavaScript URL Decode
Ответ 1
Я использовал encodeURIComponent() и decodeURIComponent() тоже.
Ответ 2
Вот полная функция (взята из PHPJS):
function urldecode(str) {
return decodeURIComponent((str+'').replace(/\+/g, '%20'));
}
Ответ 3
decodeURIComponent(mystring);
вы можете получить переданные параметры, используя этот бит кода:
//parse URL to get values: var i = getUrlVars()["i"];
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
Или этот однострочный файл для получения параметров:
location.search.split("your_parameter=")[1]
Ответ 4
Используйте этот
unescape(str);
Я не отличный программист JS, пробовал все, и это работало потрясающе!
Ответ 5
//How decodeURIComponent Works
function proURIDecoder(val)
{
val=val.replace(/\+/g, '%20');
var str=val.split("%");
var cval=str[0];
for (var i=1;i<str.length;i++)
{
cval+=String.fromCharCode(parseInt(str[i].substring(0,2),16))+str[i].substring(2);
}
return cval;
}
document.write(proURIDecoder(window.location.href));
Ответ 6
Если вы отвечаете за кодирование данных в PHP с помощью urlencode, PHP rawurlencode работает с JavaScript decodeURIComponent без необходимости замены символа +.
Ответ 7
Вот что я использовал:
В JavaScript:
var url = "http://www.mynewsfeed.com/articles/index.php?id=17";
var encoded_url = encodeURIComponent(url);
var decoded_url = decodeURIComponent(encoded_url);
В PHP:
$url = "http://www.mynewsfeed.com/articles/index.php?id=17";
$encoded_url = url_encode(url);
$decoded_url = url_decode($encoded_url);
Вы также можете попробовать его здесь: http://www.mynewsfeed.x10.mx/articles/index.php?id=17