asp.net 怎么过滤html标记
字符串是从数据库取出来的,假如我现在取出了字符串为:stringstr="<h1>标题</h1>";那么我现在想得到标题两个字符也就是把html标记过滤掉请问要怎么实现谢...
字符串是从数据库取出来的,假如我现在取出了字符串为:string str="<h1>标题</h1>";那么我现在想得到 标题两个字符 也就是把html标记过滤掉 请问要怎么实现 谢谢!
展开
2013-08-30
展开全部
前台我放一个label和button 给button加了个点击事件在后台导入using System.Text.RegularExpressions;命名空间具体代码 protected void Button1_Click(object sender, EventArgs e) { string a = "<html><br><hr>ffwe<h1>32e4</ht>"; string strip = StripHTML(a); this.Label1.Text = strip;} 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", ""); strOutput.Replace(" ", " "); return strOutput; } 经测试可用 最终效果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询