Sanitizer.GetSafeHtmlFragment(&#34; <b>表</b>&#34;)以粗体显示返回表

时间:2014-12-30 11:38:47

标签: c# asp.net-mvc asp.net-mvc-4

我想这个函数只返回Table。但问题是这个以粗体样式返回表。

string Name="<b>Table</b>";
string newName = Sanitizer.GetSafeHtmlFragment(Name);

2 个答案:

答案 0 :(得分:0)

实施using System.Text.RegularExpressions;

string Name = "<b>Table</b>";

Regex regex = new Regex("<b>(.*?)</b>"); 
Name = regex.Match(Name).Groups[1].ToString();
// Name = Table (without <b>-Tags)

答案 1 :(得分:0)

这并不是AntiXss库的正确使用方法。它旨在防止脚本注入。所以当你打电话时

GetSafeHtmlFragment("<b>Table</b>") 

它返回整个字符串,因为它确定没有什么不安全的,这当然是正确的。

如果您想确保字符串对脚本注入是安全的,那么AntiXss库就是您的选择。它不会删除无害的html标签,只会造成威胁。

如果你想删除所有的html标签,无论它们是否安全,那么正如这里所讨论的那样,正则表达式是: Regular expression to remove HTML tags from a string

String justTheText = textAndHtml.replaceAll("<[^>]*>", "");