提取HTML代码中文字的C#函数_实用技巧

/// <summary>
  /// 去除HTML标记
  /// </summary>
  /// <param name="strHtml">包括HTML的源码 </param>
  /// <returns>已经去除后的文字</returns>
  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;
  }

时间: 2024-11-01 05:05:52

提取HTML代码中文字的C#函数_实用技巧的相关文章

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

/// <summary>   /// 去除HTML标记   /// </summary>   /// <param name="strHtml">包括HTML的源码 </param>   /// <returns>已经去除后的文字</returns>   public static string StripHTML(string strHtml)   {    string [] aryReg ={       

asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页_实用技巧

ListView控件本身并没有分页功能,不过借助于ASP.NET中新增加的DataPager控件,我们可以非常方便地对ListView中的数据设置分页,这几乎不需要开发人员写一行代码,将ListView控件放到页面上,设置好布局和DataSource,然后再添加一个DataPager控件,将它的PagedControlID属性设置成ListView的ID,PageSize中设置每页要显示的数据条数,然后在Fields中设置好分页的样式(当然你完全可以不用去管样式,ASP.NET会根据内置的样式来

ASP.NET中使用Ajax的方法_实用技巧

$.ajax向普通页面发送get请求这是最简单的一种方式了,先简单了解jQuery ajax的语法,最常用的调用方式是这样:$.ajax({settings}); 有几个常用的setting,全部参数及其解释可以去jQuery官方API文档查询 1. type:请求方式 get/post2. url:请求的Uri3. async:请求是否为异步4. headers:自定义的header参数5. data:发往服务器的参数6. dataType:参数格式,常见的有string.json.xml等7

asp.net GridView 中增加记录的方法_实用技巧

大多数人建议用 FormView 来完成增加记录的功能,但是 FormView 和 GridView 不是同一个表格,所以无法在同一个页面的同一个表格中显示.如果故意将 FormView 或自己的一堆于用新增功能的控件使用普通的表格组装起来,那么会碰到一个很麻烦的问题,即两个表格的列宽如何协调一致,大多数情况下,大家在做表格的时候,表格中各列的宽度都是自动调整的,所以强行指定宽度在很多情况下并不适用. 通过实践,想出了一种办法,主要步骤如下所示: 1) 在 GridView 的 EmptyDat

ASP.NET中保护自定义的服务器控件_实用技巧

自定义服务器控件是扩展 ASP.NET Web 服务器控件的功能的一种方式.下文提供了针对自定义服务器控件的用户和开发人员的基本安全准则.有关创建自定义服务器控件的更多信息,请参见开发自定义 ASP.NET 服务器控件. IDE(如 Microsoft Visual Studio 2005)简化了自定义控件的使用及开发.但是,无论使用哪一 IDE,下面列出的安全准则均适用. 有关 ASP.NET Web 应用程序安全性的常规信息,请参见 ASP.NET Web 应用程序安全性. 针对自定义服务器

浅谈ASP.NET中最简单的自定义控件_实用技巧

ASP.NET用户控件一般适用于产生相对静态的内容,所以没有builtin的事件支持.本文讨论用户控件返回事件的方法.  假定用户控件(UserControl.ascx)中包含按钮控件AButton,希望实现按AButton按钮时,包含该用户控件的页面可以接收到事件.为此,小鸡射手在用户控件和页面的代码中分别作了处理.         UserControl.ascx.cs中的处理:         1. 定义public的事件委托,如ClickEventHandler;         2.

ajaxControlToolkit中CascadingDropDown的用法说明_实用技巧

利用Table控制位置来实现 刚好最近在学习ajaxControlToolkit中的控件,想到了CascadingDropDown 层叠下拉 是一个级联联动的下来扩展 挺好用 先介绍下CascadingDropDown的一些属性: TargetControlID 目标控件ID 就是所控制的DropDownList 的ID Category 类别(下个CascadingDropDown取这个上个传过来值的一个类名字,下面代码中会详细说到) PromptText 提示信息 再没有点击所控制DropD

如何利用扩展方法来链式的对MVC 3中的页面进行验证_实用技巧

.Net 3.0 添加了一个语法糖就是扩展方法,其实扩展方法的本质就是对类的静态方法的调用,虽然扩展方法只是改变了我们写代码的方式,但是如果我们使用得当,可以给我们带来巨大的编码效率的提升.对于C#扩展方法的使用,我就不细说了,贴段代码说明扩展方法的使用,大家就会回忆起来. 复制代码 代码如下: public static class Extensions { public static string EndWith(this string str) { return str + "@"

.Net项目中一些常用验证操作_实用技巧

       在项目中需要对用户输入的信息,以及一些方法生成的结果进行验证,一般在项目中较多的采用js插件或js来进行有关信息的校验,但是从项目安全性的角度进行考虑,可对系统进行js注入.        如果在后台对用户输入的信息进行验证会相对的安全,在出现信息验证不合法时,可以直接在程序中抛出异常,终止程序的运行.        现在提供几种较为常用的验证方法,可以减少在项目中开发时间和错误性: 1.判断域名: /// <summary> /// 普通的域名 /// </summary