1. 程式人生 > >正則表示式,去除所有HTML標籤

正則表示式,去除所有HTML標籤

protected string str = "<table><tr><td>sdasasdsdd</td></tr></table><br><p>sds</p><img id='img1' src='http://www.baidu.com/img/baidu_logo.gif' width='100' height='50' alt=''>aaassss<br><img src='http://www.baidu.com/img/baidu_logo.gif' width='100' height='50' alt=''> 說是道 ";

    protected void Page_Load(object sender, EventArgs e)
    {

        //string regexstr = @"<[^>]*>";    //去除所有的標籤

        //@"<script[^>]*?>.*?</script>" //去除所有指令碼,中間部分也刪除
         
        // string regexstr = @"<img[^>]*>";   //去除圖片的正則

       // string regexstr = @"<(?!br).*?>";   //去除所有標籤,只剩br

        // string regexstr = @"<table[^>]*?>.*?</table>";   //去除table裡面的所有內容

        string regexstr = @"<(?!img|br|p|/p).*?>";   //去除所有標籤,只剩img,br,p
   
        str = Regex.Replace(str, regexstr, string.Empty, RegexOptions.IgnoreCase);

    }

ASP.NET 去除所有HTML標記 < type="text/

JavaScript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}
注意:需要先using  System.Text.RegularExpressions;  

/**////   <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;   
  }


/**////提取HTML程式碼中文字的C#函式     
  ///   <summary>   
  ///   去除HTML標記   
  ///   </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&gt;</HEAD><BODY>faddfs龍資訊平臺</BODY></HTML>");   
          Console.WriteLine(s);   
      }   
    
      public   static   string   StripHTML(string   strHtml){   
          string   []   aryReg   ={   
                      @"<script[^>]*?>.*?</script>",   
    
                      @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(http://www.cnblogs.com/xchit/admin/file://[%22%22'tbnr]%7c[%5e/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;   
      }   
  }

寫一個靜態方法   
  移除HTML標籤#region   移除HTML標籤   
  /**////   <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

protected string str = "<table><tr><td>sdasasdsdd</td></tr></table><br><p>sds</p><img id='img1' src='http://www.baidu.com/img/baidu_logo.gif' width='100' height='50' alt=''>aaassss<br><img src='http://www.baidu.com/img/baidu_logo.gif' width='100' height='50' alt=''> 說是道 ";

    protected void Page_Load(object sender, EventArgs e)
    {

        //string regexstr = @"<[^>]*>";    //去除所有的標籤

        //@"<script[^>]*?>.*?</script>" //去除所有指令碼,中間部分也刪除
         
        // string regexstr = @"<img[^>]*>";   //去除圖片的正則

       // string regexstr = @"<(?!br).*?>";   //去除所有標籤,只剩br

        // string regexstr = @"<table[^>]*?>.*?</table>";   //去除table裡面的所有內容

        string regexstr = @"<(?!img|br|p|/p).*?>";   //去除所有標籤,只剩img,br,p
   
        str = Regex.Replace(str, regexstr, string.Empty, RegexOptions.IgnoreCase);

    }

ASP.NET 去除所有HTML標記 < type="text/JavaScript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}
注意:需要先using  System.Text.RegularExpressions;  

/**////   <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;   
  }


/**////提取HTML程式碼中文字的C#函式     
  ///   <summary>   
  ///   去除HTML標記   
  ///   </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&gt;</HEAD><BODY>faddfs龍資訊平臺</BODY></HTML>");   
          Console.WriteLine(s);   
      }   
    
      public   static   string   StripHTML(string   strHtml){   
          string   []   aryReg   ={   
                      @"<script[^>]*?>.*?</script>",   
    
                      @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(http://www.cnblogs.com/xchit/admin/file://[%22%22'tbnr]%7c[%5e/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;   
      }   
  }

寫一個靜態方法   
  移除HTML標籤#region   移除HTML標籤   
  /**////   <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標籤

protected string str = "<table><tr><td>sdasasdsdd</td></tr></table><br><p>sds</p>&l

利用表達式去除所有html標簽只保留文字

TE func 規則 第一個 ace ole 針對 pre 全局 後臺將富文本編輯器中的內容返回到前端時如果帶上了標簽,這時就可以利用這種方法只保留文字。 標簽的格式有以下幾種 1.<div class="test"></div> 2.<img

表示式匹配所有非中文字元

^[\u4E00-\u9FFF]+$ 控制只允許輸入中文字元: var reg = new RegExp('^[\u4E00-\u9FFF]+$'); alert(reg.test(this.userName_up)); if (!reg.test(this.userName_up)

Python表示式過濾或者替換HTML標籤的方法

python正則表示式關鍵內容: python正則表示式轉義符:. 匹配除換行符以外的任意字元 \w 匹配字母或數字或下劃線或漢字 \s 匹配任意的空白符 \d 匹配數字 \b 匹配單詞的開始或結束 ^ 匹配字串的開始 $ 匹配字串的結束 \W 匹配任意不是字母,數字,下劃

PHP表示式匹配巢狀HTML標籤的方法和技巧

轉載請註明出處:http://blog.csdn.net/donglynn/article/details/35788879 正則表示式是一個非常有用的程式設計技能。一般來說,簡單的抓取一個HTML頁面的某一條資訊,比如<title>標題</title&

js表示式去除首尾多餘的空格或者換行

 var str="\n\n111\n\n" str = str.replace(/^\s+|\s+$/g,'');     //去掉末尾多餘的換行 執行後str="111"了,呵呵 其中:要匹配的內容的需要放在/  /之間; ^代表開頭,$代表結尾 \s 代表:匹配一

java/android 表示式去除所有HTML標籤

protected string str = "<table><tr><td>sdasasdsdd</td></tr></table><br><p>sds</p>&l

Python通過表示式獲取,去除(過濾)或者替換HTML標籤的幾種方法(本文由169it.com蒐集整理)

python正則表示式關鍵內容: python正則表示式轉義符: . 匹配除換行符以外的任意字元 \w 匹配字母或數字或下劃線或漢字 \s 匹配任意的空白符 \d 匹配數字 \b 匹配單詞的開始或結束 ^ 匹配字串的開始 $ 匹配字串的結束 \W 匹配任意不是字母,數字

Python 表示式search(不要求從開頭匹配)findall(匹配所有)sub(替換)split(切割)

match()從開頭匹配。 search()不要求從開頭匹配,只會匹配第一個。 findall()匹配所有,返回列表。 sub()替換匹配到的所有子串為指定內容,並返回整個字串。 split()切割字串,返回列表。   demo.py(search,不要求從開頭匹配

表示式js去除空格

var strVAlue=“      鋤禾    日   當   午     ”; var value=strVAlue.replace(/\s+

Javascript:匹配所有“\r\n”的表示式把換行符替換成 br

Javascript:匹配所有“\r\n”的正則表示式,把換行符替換成 var atStr="字串"; var dataAt=atStr.replace(/(\r\n)|(\n)/g,'<br&

php讀取富文字編輯器編輯後的文章內容去除所有html標籤、空格以及空白擷取字串(包括中文)

/**  * 去除Html所有標籤、空格以及空白,並擷取字串(包括中文)  * @param  string $string 字串  * @param  number $sublength 字串長度  * @param  string $encoding 編碼方式  * @

表達式 去除所有非ASCII字符

com span 使用 select inf dig 表達式 blog github 需求: 去除字符串中包含的所有外國字符 只能使用正則如下,找到包含非ASCII的記錄 db=# select * from test where info ~ ‘[^(\x00-\x

python3 學習5 表示式re模組學習

  正則表示式: 正則表示式有特殊的語法,有些符號需要轉義,所以一般來說使用原始字串模式,也就是r''。 轉自:https://blog.csdn.net/qq_33720683/article/details/81023115 模式 描述

SQL語句表示式 匹配(獲取) 所有表名

寫出匹配SQL語句中的所有表名,備忘記錄 折磨了好久,正則表示式如下: *\s+from\s+[\w ]*.?[\w ]*.? ?(\b\w+) ?(\b\w+) ?[\r\n\s]* 支援各種表示式 SELECT * FROM Config SELE

day023表示式re模組簡單爬蟲和多頁面爬蟲(幹掉數字簽名證書驗證)

本節內容: 1、正則表示式 2、re模組的運用 3、簡單的爬蟲練習 一、正則表示式(Regular Expression) 正則表示式是對字串操作的⼀種邏輯公式. 我們⼀般使⽤正則表示式對字串進⾏匹配和過濾. 使⽤正則的優缺點: 優點: 靈活, 功能性強, 邏輯性強. 缺點: 上⼿難. ⼀旦上⼿, 會愛

ACCESS 資料庫不支援表示式如何用SQL語句查詢表中既去重複的有隻查是數字或字母的欄位!

舉例: 筆者程式設計時發現以前編的程式在SQL Server資料庫中能正確查出要查的資料結果,當資料庫變成ACCESS時查不出資料了,上網發現是ACCESS資料庫不支援正則表示式,只能用模糊查詢查出想要的資料。 同一條SQL語句在不同資料庫裡執行情況: SQL Server :strin

python表示式簡單的郵箱格式驗證

做一個簡單的郵箱格式驗證的功能: #郵箱格式的匹配: import re mail = re.compile('^www\.\w{1,15}@\w{1,10}\.(com|cn|net)$') m = input('請輸入網址:') if re.search(mail, m): p

Python 表示式re模組match匹配(預設從開頭匹配)分組

  單個字元: 數量詞: 匹配開頭、結尾: 匹配分組:   demo.py(正則表示式,match從開頭匹配,分組,分組別名): # coding=utf-8 import re # 小括號()表示分組 \1表示取出第

常用表示式手機號郵箱網址

// 判斷是否為手機號 isPoneAvailable: function (pone) { var myreg = /^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test(pone)) { return false; } else { return true; } }, //