Декодирование URL адресов
Напомним, что URL адреса отправляются браузерами в интернет в ASCII-кодировке. Если в каком-либо URL адресе содержатся символы, не входящие в ASCII-кодировку, то URL автоматически конвертируется браузером. Под конвертированием URL адреса понимается замена небезопасных символов знаком «%», за которым следуют два шестнадцатеричных числа, которые соответствуют значениям символов из кодировки ISO-8859-1. Также URL адрес не должен содержать пробелы (обычно они заменяются знаком «+»).
Предположим, Вы зашли в статистику посещений Вашего сайта и увидели там URL вида:
http://usefulscript.ru/search.php?text=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82+
%D1%81%D0%BF%D0%BE%D0%B9%D0%BB%D0%B5%D1%80%D0%B0&searchid=1876853&l10n=ru&web=0#1118
Из первой части данного URL можно понять, что пользователь воспользовался поиском на страничке search.php. Но для того, чтобы узнать, что именно вводил пользователь, данный URL необходимо декодировать.
Ниже как раз находится форма для наглядного примера работы скрипта декодирования URL:
Таким образом, воспользовавшись скриптом декодирования, мы получим следующую строку с раскодированный URL:
http://usefulscript.ru/search.php?text=Скрипт спойлера&searchid=1876853&l10n=ru&web=0#1118
Вот теперь становится ясным, что пользователь на страничке search.php, в строку поиска вводил поисковую фразу "Скрипт спойлера".
Для того чтобы получить на своем сайте точно такую же форму кодирования/раскодирования URL адресов, добавьте следующий JavaScript код:
<script type="text/javascript">
function coding() {
var obj = document.getElementById('url');
var url = obj.value;
obj.value = encodeURIComponent(url);
}
function decoding() {
var obj = document.getElementById('url');
var url = obj.value;
obj.value = decodeURIComponent(url.replace(/\+/g, " "));
}
</script>
В том месте странички, где Вы планируете разместить поле для ввода URL адреса, который необходимо раскодировать, добавьте код:
<form action="#">
<textarea cols="70" rows="6" id="url"></textarea>
<br>
<input type="button" onclick="decoding()" value="Раскодировать">
<input type="button" onclick="coding()" value="Закодировать">
</form>
Перед публикацией все комментарии проходят обязательную модерацию!
Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.