仓酷云

标题: 来一篇关于NET的Asp.Net中过滤一切的Html标签 [打印本页]

作者: 因胸联盟    时间: 2015-1-16 14:23
标题: 来一篇关于NET的Asp.Net中过滤一切的Html标签
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)明天在制造一个显现文章列表的页面,从数据库中读出文章题目及部份内容显现到页面上,可让读者在列表中就能够懂得到该文章的也许。完成后却发明了一个成绩,就是在翻页后有些页面显现的不完全了,大概页面结构全事件了,但有几页却没有。检察有成绩页面的源代码,发明本来是由于文章内容中包括了HTML代码,然后我在读取部份内容的时分就复杂的在数据库顶用了left函数,以是招致读出了未关闭的HTML标签了,显现到页面上后和页面本身的HTML标签一分离,结构就全乱了。

缘故原由找出来了,就寻觅办理成绩的办法.
办理办法一:将读出来的内容经由HTML编码后再输入到页面上,该办法虽不会引发界面结构庞杂的成绩,但扫瞄者会看到一年夜串HTML标签,究竟不是很友爱。因而该办法减少。

办理办法二:过滤失落读出内容一切HTML标签,如许即不会让扫瞄者看到不该该看到的HTML标签,也不会激发页面结构庞杂.

上面贴出过滤失落一切HTML标签的办法,供人人参考:
///<summary>
///过滤一切的Html标签
///</summary>
///<paramname="Htmlstring"></param>
///<returns></returns>
publicstaticstringRemoveHTML(stringHtmlstring)
{
Htmlstring=Regex.Replace(Htmlstring,@"<script[^>]*?>.*?</script>","",RegexOptions.IgnoreCase);
Htmlstring=Regex.Replace(Htmlstring,@"<(.[^>]*)>","",RegexOptions.IgnoreCase);
Htmlstring=Regex.Replace(Htmlstring,@"([
])[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("
","");
Htmlstring=HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
returnHtmlstring;
}


以上办法,但愿能给人人带来匡助。来吧!老师们!我代表千千万万的asp.net/C#的初学者在这里呼唤着!
作者: 再见西城    时间: 2015-1-18 13:48
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
作者: 蒙在股里    时间: 2015-1-22 17:41
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
作者: 爱飞    时间: 2015-1-31 11:59
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者: 第二个灵魂    时间: 2015-2-6 19:24
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
作者: 简单生活    时间: 2015-2-18 09:35
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
作者: 山那边是海    时间: 2015-3-6 05:11
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
作者: 因胸联盟    时间: 2015-3-12 21:20
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
作者: 飘飘悠悠    时间: 2015-3-20 03:52
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2