【发布时间】:2012-02-01 00:51:25
【问题描述】:
我有一个带有特殊字符的字符串,如下所示:
äöüß&
现在我想把它放在一个 HTML 文档中,并且需要转义这些字符。有没有一种优雅的方式来做到这一点?
我可以这样做:
string html;
html = html.Replace("ü", "uu¨");
html = html.Replace("ß", "ß");
....
但我不想对所有可能的特殊字符都这样做。
【问题讨论】:
我有一个带有特殊字符的字符串,如下所示:
äöüß&
现在我想把它放在一个 HTML 文档中,并且需要转义这些字符。有没有一种优雅的方式来做到这一点?
我可以这样做:
string html;
html = html.Replace("ü", "uu¨");
html = html.Replace("ß", "ß");
....
但我不想对所有可能的特殊字符都这样做。
【问题讨论】:
【讨论】:
System.Web 命名空间并引用 System.Web.dll 之后,VS2010 仍然找不到 Server 类。但它发现这非常有效:HttpUtility.HtmlEncode
我建议养成使用Microsoft's AntiXSS Library的习惯,然后打电话
AntiXSS.HtmlEncode(yourstring);
如果您需要将其包含在正文中,或者
AntiXSS.HtmlAttributeEncode(yourstring);
如果它在 HTML 属性中。
【讨论】:
还有这个,适用于 XML,但它应该可以与 HTML 一起工作:
System.Security.SecurityElement.Escape( string s );
【讨论】: