轉自:http://www.cnblogs.com/grokyao/archive/2008/12/04/1347512.html
在使用Freetextbox等流行編輯器後獲得的文字內容裡會摻雜著一些html標記,有時會需要將它們處理掉,這裡給出處理的方法,使用了Regex進行規則過濾,由於html標記都是基於<>這種格式,而且還有類似 這樣的符號,所以分了2次處理將字串處理為無html格式的字串。
簡易代碼:
string html = @"<span lang="EN-US">”</span>,使用者可以隨時接收喜歡的視頻電視內容。<span lang="EN-US"><a target="_blank" href="http://info.tele.hc360.com/list/mobile.shtml"><span lang="EN-US"><span lang="EN-US">手機</span></span></a></span>";
string StrNohtml = System.Text.RegularExpressions.Regex.Replace(html, "<[^>]+>", "");
StrNohtml=System.Text.RegularExpressions.Regex.Replace(StrNohtml, "&[^;]+;", "");
Console.WriteLine(StrNohtml);
功能增強代碼:
public string NoHTML(string Htmlstring) //替換HTML標記
{
//刪除指令碼
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 = Regex.Replace(Htmlstring, @"<img[^>]*>;", "", RegexOptions.IgnoreCase);
Htmlstring.Replace("<", "");
Htmlstring.Replace(">", "");
Htmlstring.Replace("\r\n", "");
Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
return Htmlstring;
}