我找一些功能,將解碼HTML實體的一個良好的數額。解碼所有HTML實體
原因是我正在處理一些代碼,將HTML內容變成純文本,我的問題是很多實體做而不是使用HttpUtility.HtmlDecode
得到轉換。
我關心的實體的一些例子是& nbsp;,& amp ;, & copy ;.
這是.NET 3.5。
我找一些功能,將解碼HTML實體的一個良好的數額。解碼所有HTML實體
原因是我正在處理一些代碼,將HTML內容變成純文本,我的問題是很多實體做而不是使用HttpUtility.HtmlDecode
得到轉換。
我關心的實體的一些例子是& nbsp;,& amp ;, & copy ;.
這是.NET 3.5。
那麼也許你需要HttpUtility。 HtmlDecode? 它應該工作,你只需要添加的System.Web參考。 至少這是.Net框架< 4.
例如下面的代碼的方式:
MessageBox.Show(HttpUtility.HtmlDecode("&©"));
工作,並輸出是如預期(和號和版權符號)。 你確定這個問題是在HtmlDecode中,而不是別的?
更新:另一個能夠完成這個工作的類,WebUtility(也是HtmlDecode方法)出現在新的.Net版本中。但是,它似乎存在一些問題。請參閱HttpUtility vs. WebUtility問題。
你是正確的,這是我如何使用的結果,如果我把它變成一個asp:標籤它將在copywrite字符轉換成©。 – Matthew
我明白了。知道:)是非常有用的。 –
都包含在.NET 4
例如使用WebUtility.HtmlDecode
,如果我在一個控制檯應用程序運行:
Console.WriteLine(WebUtility.HtmlDecode(" , &, ©"));
我得到, &, c
我可能應該說這是爲.net 3.5。儘管我已經給你+1了。不管怎樣,謝謝你。 – Matthew
是什麼WebUtility和HttpUtility的'HtmlDecode'方法之間的區別? – crush
這裏有一個答案: http://stackoverflow.com/questions/17352981/webutility-htmldecode-vs-httputilty-htmldecode 總之 - WebUtility帶着WinRT的,它是新的,而HttpUtility是舊的(使用的所有在這個地方,所以我希望它留下)。 此外我認爲WebUtility是在System.dll中(System.Net),這使得它更容易一點的WinApps(你不必依賴的System.Web)如果我沒有記錯。 –
我切換到.Net 3.5並使用'Console.WriteLine(HttpUtility.HtmlDecode(「 ,&, ©」));'它對我來說工作得很好。我無法弄清楚爲什麼你會遇到麻煩。你有一個奇怪的字符串編碼或什麼? –