Замена спецсимволов в URL

  • Автор темы Автор темы codeby
  • Дата начала Дата начала

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Реакции
53
Баллы
28
Здравствуйте,

Кто подскажет как выйти из ситуации

Беру из текста URL со спецсимволами.

Выглядит это примерно так:

Код:
Развернуть Свернуть Копировать
viewforum.php?f=574&start=950

Естественно браузер "ложит" на все эти спецсимволы из кода. Ему нормальные подавай.

Вопрос в том, как эффективнее всего делать преобразование.

Заменой части строки делать не совсем удобно. Может кто подскажет более простое решение?
 
Ищите по форуму urlencode
 
Спасибо
 
Кто знает, как обратно через снипет декодировать URL?

Есть tass.ru%2Fekonomika%2F1630800
а надо получить: tass.ru/ekonomika/1630800
просто замена не катит, урлы могут и другие символы содержать.
 
То же что и на примере выше, только UrlDecode
 
  • Спасибо
Реакции: Severip
Обычно я заменой & на & делаю или обрезать до..Еще можно пихать ссыль в http://2cyr.com/decode подобный сервис и брать результат.
 
Спасибо!
 
Я вставляю код в C#:
var url = project.Variables["my_link"].Value;
var data = System.Web.HttpUtility.UrlDecode(my_link);
return data;

И после этого в данном шаблоне ни один экшен не работает.
Как только удаляю экшен "Свой код" с вот этим кодом на С# - все сразу начинает работать.

Подскажите, пожалуйста, в чем может быть причина?
 
Вопрос решился - нашел в англоязычной ветке ответ.
Вот такой код работает:

return System.Web.HttpUtility.UrlDecode(project.Variables["my_link"].Value);

--------------------
Написал вот так:
using System.Web;

var url = project.Variables["proof_link"].Value;
var data = System.Web.HttpUtility.UrlDecode(url);
return data;

Добавил using System.Web; т.к. до этого выдавалась ошибка, что нет System.Web

Но теперь все равно ошибка:
"Syntax error, '(' expected". [Строка: 1; Cтолбец: 7]
") expected". [Строка: 1; Cтолбец: 17]

И снова ни один экшен не работает.


Нашел, что нужно добавить вот это:
http://i.gyazo.com/ae11462a82238afaba38d4ffd530955f.png

Но все равно не помогло - не работает.
 
Последнее редактирование:
это все что вам нужно
return Uri.UnescapeDataString(project.Variables["my_link"].Value);
 
  • Спасибо
Реакции: codeby, ferr9918 и Danny
Да, я это и имел в виду.
Дописал в начало поста последнего - на случай, если кому-то пригодится )
 
Не понимаю - зачем писать неправильные ответы? И так в каждой теме. 10 ответов, которые просто не работают и 1 рабочий.
Я понимаю, что это форум и никто никому ничего не должен. Но зачем писать неверные ответы? Неужели не проще просто пройти мимо?
LexxWork, спасибо за рабочее решение.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)