C#中怎么利用正则表达式过滤HTML标签

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 + "。。。";

看完上述内容,你们掌握C#中怎么利用正则表达式过滤HTML标签的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!