2013-07-04 69 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> 

我想我失去了一些東西。我試圖使用替換功能等,但無濟於事。有人可以幫助我將這個值轉換爲正確的字符串值嗎? (正則表達式?) 謝謝你的幫助。

+2

他們正試圖保護他們的數據免受像你這樣的人。 – CodeCaster

+1

@CodeCaster - 如果不是那些討厭的孩子,他們會放棄它!我同意這看起來好像是在爲某種電話營銷騙取聯繫詳情 – Sayse

+0

哦,我明白了。你的權利。每次加載頁面都有一個不同的代碼。所以它對我來說看起來像一個問題(必須有一些JavaScript解碼,對吧?)順便說一下,該網頁是例如http://topkontakt.idnes.cz/f/secar-bohemia-as/1405/好吧,謝謝,P. – 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命名空間中找到。

相關問題