将 C# 字符串转义为 HTML
我有一个带有特殊字符的字符串,如下所示:
äöüß&
现在我想将其放入 HTML 文档中,并且需要转义这些字符。有没有一种优雅的方式来做到这一点?
我可以这样做:
string html;
html = html.Replace("ü", "uu¨");
html = html.Replace("ß", "ß");
....
但我不想对所有可能的特殊字符都这样做。
I have a string with special characters like this:
äöüß&
Now I want to put that in an HTML document and need to escape these characters. Is there an elegant way doing this?
I could do this:
string html;
html = html.Replace("ü", "uu¨");
html = html.Replace("ß", "ß");
....
But I don't want to do that for all possible special characters.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
让框架为您完成工作。
您可以尝试
HtmlEncode
:Let the Framework do the work for you.
You could try
HtmlEncode
:还有这个,用于 XML,但它应该可以与 HTML 一起正常工作:
System.Security.SecurityElement.Escape( string s );
There is also this, intended for XML, but it should work just fine with HTML:
System.Security.SecurityElement.Escape( string s );
我建议养成使用 Microsoft 的 AntiXSS 库 的习惯,并调用
如果您需要将其包含在正文中,或者
如果它位于 HTML 属性内。
I recommend getting into the habit of using Microsoft's AntiXSS Library, and calling
if you need to include it in the body, or
if it is going inside an HTML attribute.