本文实例讲述了C#正则过滤HTML标签并保留指定标签的方法。分享给大家供大家参考,具体如下:
这边主要看到一个过滤的功能:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public static string FilterHtmlTag( string s)
{
//<...>标记正则表达式
return Regex.Replace(s, @"<[^>]*>" , delegate (Match match)
{
string v = match.ToString();
//图片,<p>,<br>正则表达式
Regex rx = new Regex( @"^<(p|br|img.*)>$" ,
RegexOptions.Compiled | RegexOptions.IgnoreCase); //
if (rx.IsMatch(v))
{
return v; //保留图片,<p>,<br>
}
else
{
return "" ; //过滤掉
}
});
}
|
我这边所有都过滤,所以我直接用正则,不再做匿名委托的保留p和br
1
2
3
|
content = Regex.Replace(content, @"/\<span(\sclass\=\S*)*\>\S*\<\/span\>/g" , "" , RegexOptions.IgnoreCase);
content = Regex.Replace(content, @"<[^>]*>" , "" , RegexOptions.IgnoreCase);
content = content + "。。。" ;
|
希望本文所述对大家C#程序设计有所帮助。