2013-07-04 2 views
0

Я анализирую веб-страницы .NET (C#, HtmlAgilityPack). Есть некоторые значения в специальном формате в коде веб-страницы (телефон, электронная почта). Целевые значения «+420 221 513 222» и «[email protected]», например, но в HTML исходного кода значения, какСпециальные символы телефона и электронной почты

<span class="p none">420%8722%AC1%87513%87%AC222</span> 

<a class="e none">rev%DBize%DB%A7se%DBcar%DB%96cz</a> 

Я думаю, что я что-то не хватает. Я пытался использовать функцию замены и т. Д., Но безрезультатно. Может ли кто-нибудь помочь мне с преобразованием этих значений в правильные значения строк? (regex?) Благодарим за помощь.

+2

Они пытаются защитить свои данные от таких людей, как вы. – CodeCaster

+1

@CodeCaster - И они бы с ним справились, если бы не эти досадные дети! Я согласен, что это похоже на очистку контактной информации за какой-то телемаркетинг. – Sayse

+0

О, я вижу. Твое право. Каждый раз, когда страница загружается, появляется другой код. Так что это похоже на проблему для меня (должен быть какой-то javascript de-codding, верно?) Кстати, страница, например, http://topkontakt.idnes.cz/f/secar-bohemia-as/1405/ Хорошо, спасибо, П. – Petr

ответ

-1

Несомненно. Вы ищете Uri.UnescapeDataString(url). Тем не менее, он не совсем расшифровывает все это одновременно. Так что вам нужно сделать, это использовать его в петлю, как это:

public static string DecodeUrlString(this string url) 
{ 
    string newUrl; 
    while ((newUrl = Uri.UnescapeDataString(url)) != url) 
     url = newUrl; 
    return newUrl; 
} 
0

Вы могли бы использовать:

HttpUtility.HtmlDecode(S) 

Это можно найти в пространстве имен System.Web.

Смежные вопросы