我有特殊字符的字符串是這樣的:逃生C#字符串到HTML
äöüß&
現在我希望把他們的HTML文檔中,並需要轉義這些字符。有沒有一個優雅的方式做到這一點?
我可以這樣做:
string html;
html = html.Replace("ü", "uu¨");
html = html.Replace("ß", "ß");
....
但我並不想這樣做,對所有可能的特殊字符。
我有特殊字符的字符串是這樣的:逃生C#字符串到HTML
äöüß&
現在我希望把他們的HTML文檔中,並需要轉義這些字符。有沒有一個優雅的方式做到這一點?
我可以這樣做:
string html;
html = html.Replace("ü", "uu¨");
html = html.Replace("ß", "ß");
....
但我並不想這樣做,對所有可能的特殊字符。
我建議你應該對使用Microsoft's AntiXSS Library,並呼籲
AntiXSS.HtmlEncode(yourstring);
的習慣,如果你需要包括它在人體內,或
AntiXSS.HtmlAttributeEncode(yourstring);
如果它在html屬性中。
還有這個,意爲XML,但它應該只是罰款與HTML:
System.Security.SecurityElement.Escape(string s);
查看擴展筆記(佐證你)@ http://stackoverflow.com/a/1934252/41153 – 2013-05-15 18:19:36
什麼命名空間是什麼? – 2012-01-02 19:26:16
@juergend - 檢查我鏈接到的文件。具有名稱空間和程序集(以防需要添加引用)。 – 2012-01-02 19:26:47
我一開始並沒有看到。實際上,即使在使用'System.Web'命名空間並在我的Project中引用System.Web.dll之後,VS2010仍然無法找到Server類。但它發現這個工作完美:'HttpUtility.HtmlEncode' – 2012-01-02 19:43:56