2009-10-13 9 views
44

chcę przekonwertować & do &, " z "itp Czy istnieje funkcja w C#, który mógłby to zrobić bez ręcznego pisania wszystkie opcje?Konwersja & do & etc

Odpowiedz

75
System.Web.HttpUtility.HtmlDecode() 
+0

nie działa HttpUtility.HtmlDecode dla '& amp' –

+1

@ AbuHamzah to nie powinno działać dla & amp; ale powinno działać dla & – Peter

+0

to działa tylko dla .NET v4 –

4
+1

Działa to w środowisku ASP.NET. Ale poza tym odpowiedź Matta jest lepsza. – M4N

+0

Zakładałem ASP.NET. Dokumentacja wspomina o HtmlDecode HttpUtility, ponieważ tak właśnie wywołuje Server.HtmlEncode. Łatwo to zrozumieć czytając dokumentację - dokumentacja Server.HtmlEncode w rzeczywistości wyjaśnia, co robi, niestety HttpUtility.HtmlDecode nie. – RichardOD

20

Użyj statycznej metody

HttpUtility.HtmlEncode 

zmienić & do & i " do ". Użyj odwzorowania, aby wykonać odwrotną stronę.

-3

NET < 4 prostego kodera

public static string HtmlEncode(string value) 
    { 
     return value.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").Replace("\"", "&quot;").Replace("'", "&apos;"); 
    } 
+0

Twoja metoda konwertuje w niewłaściwy sposób – thumbmunkeys

16

Można użyć System.Net.WebUtility.HtmlDecode(uri);