将C#String转义为HTML

jue*_*n d 4 html c# escaping

我有一个特殊字符的字符串,如下所示:

äöüß&

现在我想把它放在一个HTML文档中,需要转义这些字符.这样做有一种优雅的方式吗?

我能做到这一点:

string html;
html = html.Replace("ü", "uu¨");
html = html.Replace("ß", "ß");
....
Run Code Online (Sandbox Code Playgroud)

但我不想为所有可能的特殊角色做到这一点.

Jus*_*ner 13

为什么不让框架为您完成工作?

你可以尝试HtmlEncode:

string encodedHtml = Server.HtmlEncode(html);
Run Code Online (Sandbox Code Playgroud)

  • 起初我没有看到.实际上甚至在使用`System.Web`命名空间并在我的Project中引用System.Web.dll之后,VS2010仍然无法找到Server类.但它发现这完全有效:`HttpUtility.HtmlEncode` (4认同)

Mik*_*kis 9

还有这个,用于XML,但它应该可以正常使用HTML:

System.Security.SecurityElement.Escape( string s );

  • 查看扩展注释(证实你)@ http://stackoverflow.com/a/1934252/41153 (2认同)