本文实例讲述了C#正则过滤HTML标签并保留指定标签的方法。分享给大家供大家参考,具体如下:
这边主要看到一个过滤的功能:
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
content = Regex.Replace(content, @"/\<span(\sclass\=\S*)*\>\S*\<\/span\>/g", "", RegexOptions.IgnoreCase);
content = Regex.Replace(content, @"<[^>]*>", "", RegexOptions.IgnoreCase);
content = content + "。。。";
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.html5code.net/regex/javascript
正则表达式在线生成工具:
http://tools.html5code.net/regex/create_reg
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#正则表达式用法总结》、《C#编码操作技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》
希望本文所述对大家C#程序设计有所帮助。