Парсинг URL строки
Всем добрый день.
Есть у кого-нибудь рабочий скрипт для парсинга URL строки и обратно. Поискал в интернете нечто подобное, но мне не подошло. Например этот- http://habrahabr.ru/post/177559/ Дело в том, что в строке записан массив. Пример http://localhost/index.php?page=user...%5D=skype&cp=5 или http://localhost/index.php?page=user&tt=tab&pop=2&sort[0][0]=id&sort[0][1]=down&tn=users&nv[0]=id&nv[1]=skype&cp=5 Обычные переменные определяет.tt=tab, а вот там где записан массив - появляется проблема. видит только всю строчку целеком. Есть у кого-нибудь на примете рабочий скрипт, который может грамотно парсить URL строку? Заранее спасибо. |
function parseURL(url) {
var parts = url.split('?');
link = parts.length > 1 ? parts.shift() : '';
gets = parts.join('?').split('&'),
data = {};
for(var index = 0; index < gets.length; index++) {
parts = gets[index].split('=');
assignValue(data, decodeURIComponent(parts.shift()), decodeURIComponent(parts.join('=')));
}
function assignValue(data, key, value) {
var parts = key.replace(/\[(.*?)\]/g, '.$1').split(/\./);
key = parts.shift();
if (parts.length === 0) {
data[key] = value;
} else {
assignValue(key in data ? data[key] : (data[key] = {}), parts.join('.'), value);
}
}
return {
link: link,
data: data
}
}
alert(
JSON.stringify(
parseURL('http://localhost/index.php?page=user&tt=tab&pop=2&sort%5B0%5D%5B0%5D=id&sort%5B0%5D%5B1%5D=down&tn=users&nv%5B0%5D=id&nv%5B1%5D=skype&cp=5'
),
null,
' '
)
);
|
Спасибо..нешел еще в инете вот это. http://dev.petitchevalroux.net/javas...cript.111.html
Но почему-то Url.prototype.parseQuery() выдает пустую строку :( |
По-моему тут надо урл засунуть в тег <a>, то есть сделать такой и в href=url, а потом доставать какие хочешь части, но search string все равно придется парсить и есть такое подозрение что все уже давно написано и запрототипровано.
В php это parse_str() и соответственно build_http_query(), поищите со словом js UPD, не видел фрунцузского сайта, вы по-французски что ли ищите? |
| Часовой пояс GMT +3, время: 02:36. |