2012年12月24日 星期一

去除HTML標籤


///
/// 去除HTML標籤
///
/// 包含HTML標籤的原始字串
/// 已經去除後的字串
public static string StripHTML(string strHtml)
{
 string [] aryReg ={
        @"",

        @"<(\/\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 {
     Regex regex = new Regex(aryReg[i],RegexOptions.IgnoreCase );
     strOutput = regex.Replace(strOutput,aryRep[i]);
 }

 strOutput.Replace("<","");
 strOutput.Replace(">","");
 strOutput.Replace("\r\n","");


 return strOutput;
}

沒有留言:

張貼留言