问题描述
请问,ASP.net如何把带html格式的内容转换成纯文本的文字
解决方案
解决方案二:
使用正则表达式对字符串进行过滤
解决方案三:
publicstringLostHTML(stringStr){stringRe_Str="";if(Str!=null){if(Str!=string.Empty){stringPattern="<\/*[^<>]*>";Re_Str=Regex.Replace(Str,Pattern,"");}}return(Re_Str.Replace("\r\n","")).Replace("\r","");}
解决方案四:
正则替换<[^>]+>就可以了
解决方案五:
但是如两位所说, 并未被过滤掉
解决方案六:
过滤html,js,css代码///<summary>///过滤html,js,css代码///</summary>///<paramname="html">参数传入</param>///<returns></returns>publicstaticstringCheckStr(stringhtml){System.Text.RegularExpressions.Regexregex1=newSystem.Text.RegularExpressions.Regex(@"<script[sS]+</script*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex2=newSystem.Text.RegularExpressions.Regex(@"href*=*[sS]*script*:",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex3=newSystem.Text.RegularExpressions.Regex(@"no[sS]*=",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex4=newSystem.Text.RegularExpressions.Regex(@"<iframe[sS]+</iframe*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex5=newSystem.Text.RegularExpressions.Regex(@"<frameset[sS]+</frameset*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex6=newSystem.Text.RegularExpressions.Regex(@"<img[^>]+>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex7=newSystem.Text.RegularExpressions.Regex(@"</p>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex8=newSystem.Text.RegularExpressions.Regex(@"<p>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex9=newSystem.Text.RegularExpressions.Regex(@"<[^>]*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);html=regex1.Replace(html,"");//过滤<script></script>标记html=regex2.Replace(html,"");//过滤href=javascript:(<A>)属性html=regex3.Replace(html,"_disibledevent=");//过滤其它控件的on...事件html=regex4.Replace(html,"");//过滤iframehtml=regex5.Replace(html,"");//过滤framesethtml=regex6.Replace(html,"");//过滤framesethtml=regex7.Replace(html,"");//过滤framesethtml=regex8.Replace(html,"");//过滤framesethtml=regex9.Replace(html,"");html=html.Replace("","");html=html.Replace("</strong>","");html=html.Replace("<strong>","");returnhtml;}#endregionHiddenFieldHTitle=e.Item.FindControl("HFTitle")asHiddenField;LiteralltTitle=e.Item.FindControl("ltTitle")asLiteral;if(HTitle.Value.Length>30){ltTitle.Text=HTitle.Value.ToString().PadRight(30).Substring(0,30)+"...";}else{ltTitle.Text=HTitle.Value.ToString();}
我用别人的代码..