Парсинг 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, время: 14:37. |