最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

c#中过滤html的正则表达式

来源:懂视网 责编:小采 时间:2020-11-27 22:45:42
文档

c#中过滤html的正则表达式

c#中过滤html的正则表达式:实现代码 /// <summary> /// 去除HTML标记 /// </summary> /// <param name=NoHTML>包括HTML的源码 </param> /// <returns>已经去除后的文字</returns> public stati
推荐度:
导读c#中过滤html的正则表达式:实现代码 /// <summary> /// 去除HTML标记 /// </summary> /// <param name=NoHTML>包括HTML的源码 </param> /// <returns>已经去除后的文字</returns> public stati

实现代码

/// <summary>
/// 去除HTML标记
/// </summary>
/// <param name=”NoHTML”>包括HTML的源码 </param>
/// <returns>已经去除后的文字</returns>
public static string NoHTML(string Htmlstring)
{
 //删除脚本
 Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "",
 RegexOptions.IgnoreCase);
 //删除HTML 
 Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "",
 RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "",
 RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"–>", "", RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"<!–.*", "", RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"",
 RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&",
 RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<",
 RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">",
 RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ",
 RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
 Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);
 Htmlstring.Replace("<", "");
 Htmlstring.Replace(">", "");
 Htmlstring.Replace("\r\n", "");
 Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
 return Htmlstring;
}

C#过滤Html标签及空格

public static string FilterHTML(string HTMLStr)
 {
 if (!string.IsNullOrEmpty(HTMLStr))
 return System.Text.RegularExpressions.Regex.Replace(HTMLStr, "<[^>]*>| ", "");
 else
 return "";
 }

写一个静态方法移除HTML标签

#region
/// <summary>
/// 移除HTML标签
/// </summary>
/// <param name="HTMLStr">HTMLStr</param>
public static string ParseTags(string HTMLStr)
{
 return System.Text.RegularExpressions.Regex.Replace(HTMLStr, "<[^>]*>", "");
}
#endregion

取出文本中的图片地址

#region
/// <summary>
/// 取出文本中的图片地址
/// </summary>
/// <param name="HTMLStr">HTMLStr</param>
public static string GetImgUrl(string HTMLStr)
{
 string str = string.Empty;
 string sPattern = @"^<img\s+[^>]*>";
 Regex r = new Regex(@"<img\s+[^>]*\s*src\s*=\s*([']?)(?<url>\S+)'?[^>]*>",
 RegexOptions.Compiled);
 Match m = r.Match(HTMLStr.ToLower());
 if (m.Success)
 str = m.Result("${url}");
 return str;
}
#endregion

提取HTML代码中文字的C#函数

/// <summary>
/// 提取HTML代码中文字的C#函数
/// </summary>
/// <param name="strHtml">包括HTML的源码 </param>
/// <returns>已经去除后的文字</returns>
using System;
using System.Text.RegularExpressions;
public class StripHTMLTest
{
 public static void Main()
 {
 string s = StripHTML(
 "<HTML><HEAD><TITLE>中国石龙信息平台</TITLE></HEAD><BODY>faddfs龙信息平台</BODY></HTML>");
 Console.WriteLine(s);
 }

 public static string StripHTML(string strHtml)
 {
 string[]aryReg =
 {
 @"<script[^>]*?>.*?</script>",

 @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\["
 "'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>", @"([\r\n])[\s]+", @
 "&(quot|#34);", @"&(amp|#38);", @"&(lt|#60);", @"&(gt|#62);", @
 "&(nbsp|#160);", @"&(iexcl|#161);", @"&(cent|#162);", @"&(pound|#163);",
 @"&(copy|#169);", @"&#(\d+);", @"-->", @"<!--.*\n"
 };

 string[]aryRep =
 {
 "", "", "", "\"", "&", "<", ">", " ", "\xa1", //chr(161),
 "\xa2", //chr(162),
 "\xa3", //chr(163),
 "\xa9", //chr(169),
 "", "\r\n", ""
 };

 string newReg = aryReg[0];
 string strOutput = strHtml;
 for (int i = 0; i < aryReg.Length; i++)
 {
 Regex regex = new Regex(aryReg[i], RegexOptions.IgnoreCase);
 strOutput = regex.Replace(strOutput, aryRep[i]);
 }
 strOutput.Replace("<", "");
 strOutput.Replace(">", "");
 strOutput.Replace("\r\n", "");
 return strOutput;
 }
}

TempContent 表示包含有html的字符串;
TempContent = System.Text.RegularExpressions.Regex.Replace(TempContent,"<[^>]+>","");至少一个
TempContent = System.Text.RegularExpressions.Regex.Replace(TempContent,"<[^>]*>","");任意个 

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

c#中过滤html的正则表达式

c#中过滤html的正则表达式:实现代码 /// <summary> /// 去除HTML标记 /// </summary> /// <param name=NoHTML>包括HTML的源码 </param> /// <returns>已经去除后的文字</returns> public stati
推荐度:
标签: html 正则表达式 c#
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top