Asp中去除脚本代码

Asp中去除脚本代码

 
‘================================================

‘ 显示解释函数,返回根据参数允许显示的格式字符串,具体调用方法可从后台管理获得

‘ 输入参数:

‘ s_Content : 要转换的数据字符串

‘ s_Filters : 要过滤掉的格式集,用逗号分隔多个

‘================================================

Function eWebEditor_DeCode(s_Content, sFilters)

 Dim a_Filter, i, s_Result, s_Filters

 eWebEditor_Decode = s_Content

 If IsNull(s_Content) Then Exit Function

 If s_Content = “” Then Exit Function

 s_Result = s_Content

 s_Filters = sFilters
 ‘ 设置默认过滤

 If sFilters = “” Then s_Filters = “script,object”
 a_Filter = Split(s_Filters, “,”)

 For i = 0 To UBound(a_Filter)

  s_Result = eWebEditor_DecodeFilter(s_Result, a_Filter(i))

 Next

 eWebEditor_DeCode = s_Result

End Function
%>
<Script Language=JavaScript RunAt=Server>

//===============================================

// 单个过滤

// 输入参数:

// s_Content : 要转换的数据字符串

// s_Filter : 要过滤掉的单个格式

//===============================================

function eWebEditor_DecodeFilter(html, filter){

 switch(filter.toUpperCase()){

 case “SCRIPT”:  // 去除所有客户端脚本javascipt,vbscript,jscript,js,vbs,event,…

  html = eWebEditor_execRE(“</?script[^>]*>”, “”, html);

  html = eWebEditor_execRE(“(javascript|jscript|vbscript|vbs):”, “$1:”, html);

  html = eWebEditor_execRE(“on(mouse|exit|error|click|key)”, “<I>on$1</I>”, html);

  html = eWebEditor_execRE(“&#”, “<I>&#</I>”, html);

  break;

 case “TABLE”:  // 去除表格<table><tr><td><th>

  html = eWebEditor_execRE(“</?table[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?tr[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?th[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?td[^>]*>”, “”, html);

  break;

 case “CLASS”:  // 去除样式类class=””

  html = eWebEditor_execRE(“(<[^>]+) class=[^ |^>]*([^>]*>)”, “$1 $2”, html) ;

  break;

 case “STYLE”:  // 去除样式style=””

  html = eWebEditor_execRE(“(<[^>]+) style=\”[^\”]*\”([^>]*>)”, “$1 $2”, html);

  break;

 case “XML”:   // 去除XML<?xml>

  html = eWebEditor_execRE(“< \\?xml[^>]*>”, “”, html);

  break;

 case “NAMESPACE”: // 去除命名空间<o:p></o:p>

  html = eWebEditor_execRE(“<\/?[a-z]+:[^>]*>”, “”, html);

  break;

 case “FONT”:  // 去除字体<font></font>

  html = eWebEditor_execRE(“</?font[^>]*>”, “”, html);

  break;

 case “MARQUEE”:  // 去除字幕<marquee></marquee>

  html = eWebEditor_execRE(“</?marquee[^>]*>”, “”, html);

  break;

 case “OBJECT”:  // 去除对象<object><param><embed></object>

  html = eWebEditor_execRE(“</?object[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?param[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?embed[^>]*>”, “”, html);

  break;

 default:

 }

 return html;

}
// ============================================

// 执行正则表达式替换

// ============================================

function eWebEditor_execRE(re, rp, content) {

 oReg = new RegExp(re, “ig”);

 r = content.replace(oReg, rp);

 return r;

}
</Script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111124.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pstack使用和原理[通俗易懂]

    pstack使用和原理[通俗易懂]pstack使用和原理http://www.cnblogs.com/mumuxinfei/p/4366708.html前言:  最近小组在组织深入剖析Nginx>>的读书会,里面作者提到了pstack这个工具.之前写JAVA程序,对jstack这个工具,非常的喜欢,觉得很有用.于是想比较下pstack和jstack的异同.   和jstack一样,psta

    2025年11月15日
    3
  • Java 中哈希码的说明「建议收藏」

    Java 中哈希码的说明「建议收藏」在Java中,哈希码代表对象的特征。例如下面代码对象根据HashCode由此可得出str1!=str2,str1==str3哈希码产生的依据:哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。也有相同的情况,看程序员如何写哈希码的算法。1:Object类的hashCode.返回对象的内存地址经过处理后的结构,由于每个对象的内存地址都不一样,所以哈希码也不一样。2:String类的hashCode.根据String类包含的字符串的

    2025年7月23日
    3
  • Hibernate官网下载最新版jar包[通俗易懂]

    Hibernate官网下载最新版jar包[通俗易懂]官网地址:http://hibernate.org/1、点击HibernateORM的More2、点击下载最新版3、向下滚动,下载自己所需要的版本,点击Download4、等待几秒后弹出下载5、如果下载其他旧版本,可以在第一步后,点解页面中的otherseries.6、更老的版本点击seeolderseries7、下载4.2版本,点击Moreinfo8…

    2025年6月13日
    2
  • ffmpeg安装教程win10_windows10我的电脑在哪

    ffmpeg安装教程win10_windows10我的电脑在哪FFmpeg命令行安装使用如下命令进行FFmpeg:sudoapt-getinstallffmpegFFmpeg源码安装FFmpeg源码获取使用如下命令获取ffmpeg的源码:gitclonehttps://git.ffmpeg.org/ffmpeg.gitffmpegffmpeg编译使用如下命令指定安装目录:./configure–prefix=/usr/local/ffmpeg–enable-debug=3–enable-shared–disa

    2025年11月7日
    1
  • jupyter的代码能用pycharm运行吗_win10安装jupyter

    jupyter的代码能用pycharm运行吗_win10安装jupyter在Pycharm中安装及使用Jupyter(图文详解)文章目录在Pycharm中安装及使用Jupyter(图文详解)一、材料二、安装Jupyter三、配置Jupyter四、使用Jupyter1.使用Cell2.使用jupyterMarkdownPycharm更新了对Jupyter的功能支持,结合IntelliJ的自动补全代码,自动格式化代码,执行调试…

    2022年8月26日
    6
  • 从作坊到工厂_工厂和作坊的本质区别

    从作坊到工厂_工厂和作坊的本质区别作坊离工厂究竟有多远(二) smilemac 1.   软件大规模定制 在这个市场越来越起主导作用,定制的产品广受欢迎的时代,软件是否也可以做到大规模定制呢?首先看什么是软件的大规模定制。规模与产品的开发速度有关,如果一个定制的软件能够在一个月内交付,如果定制软件的交付数量可以与程序员数目成正比,我们可以将这种开发模式叫做大规模定制,如果这种结果能够出

    2025年10月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号