DeCode.asp
上传用户:mingda
上传日期:2017-06-20
资源大小:27691k
文件大小:3k
源码类别:

OA系统

开发平台:

Java

  1. <%
  2. '================================================
  3. ' 显示解释函数,返回根据参数允许显示的格式字符串,具体调用方法可从后台管理获得
  4. ' 输入参数:
  5. ' s_Content : 要转换的数据字符串
  6. ' s_Filters : 要过滤掉的格式集,用逗号分隔多个
  7. '================================================
  8. Function WebEditor_DeCode(s_Content, sFilters)
  9. Dim a_Filter, i, s_Result, s_Filters
  10. WebEditor_Decode = s_Content
  11. If IsNull(s_Content) Then Exit Function
  12. If s_Content = "" Then Exit Function
  13. s_Result = s_Content
  14. s_Filters = sFilters
  15. ' 设置默认过滤
  16. If sFilters = "" Then s_Filters = "script,object"
  17. a_Filter = Split(s_Filters, ",")
  18. For i = 0 To UBound(a_Filter)
  19. s_Result = WebEditor_DecodeFilter(s_Result, a_Filter(i))
  20. Next
  21. WebEditor_DeCode = s_Result
  22. End Function
  23. %>
  24. <Script Language=JavaScript RunAt=Server>
  25. //===============================================
  26. // 单个过滤
  27. // 输入参数:
  28. // s_Content : 要转换的数据字符串
  29. // s_Filter : 要过滤掉的单个格式
  30. //===============================================
  31. function WebEditor_DecodeFilter(html, filter){
  32. switch(filter.toUpperCase()){
  33. case "SCRIPT": // 去除所有客户端脚本javascipt,vbscript,jscript,js,vbs,event,...
  34. html = WebEditor_execRE("</?script[^>]*>", "", html);
  35. html = WebEditor_execRE("(javascript|jscript|vbscript|vbs):", "$1:", html);
  36. html = WebEditor_execRE("on(mouse|exit|error|click|key)", "<I>on$1</I>", html);
  37. html = WebEditor_execRE("&#", "<I>&#</I>", html);
  38. break;
  39. case "TABLE": // 去除表格<table><tr><td><th>
  40. html = WebEditor_execRE("</?table[^>]*>", "", html);
  41. html = WebEditor_execRE("</?tr[^>]*>", "", html);
  42. html = WebEditor_execRE("</?th[^>]*>", "", html);
  43. html = WebEditor_execRE("</?td[^>]*>", "", html);
  44. break;
  45. case "CLASS": // 去除样式类class=""
  46. html = WebEditor_execRE("(<[^>]+) class=[^ |^>]*([^>]*>)", "$1 $2", html) ;
  47. break;
  48. case "STYLE": // 去除样式style=""
  49. html = WebEditor_execRE("(<[^>]+) style="[^"]*"([^>]*>)", "$1 $2", html);
  50. break;
  51. case "XML": // 去除XML<?xml>
  52. html = WebEditor_execRE("<\?xml[^>]*>", "", html);
  53. break;
  54. case "NAMESPACE": // 去除命名空间<o:p></o:p>
  55. html = WebEditor_execRE("</?[a-z]+:[^>]*>", "", html);
  56. break;
  57. case "FONT": // 去除字体<font></font>
  58. html = WebEditor_execRE("</?font[^>]*>", "", html);
  59. break;
  60. case "MARQUEE": // 去除字幕<marquee></marquee>
  61. html = WebEditor_execRE("</?marquee[^>]*>", "", html);
  62. break;
  63. case "OBJECT": // 去除对象<object><param><embed></object>
  64. html = WebEditor_execRE("</?object[^>]*>", "", html);
  65. html = WebEditor_execRE("</?param[^>]*>", "", html);
  66. html = WebEditor_execRE("</?embed[^>]*>", "", html);
  67. break;
  68. default:
  69. }
  70. return html;
  71. }
  72. // ============================================
  73. // 执行正则表达式替换
  74. // ============================================
  75. function WebEditor_execRE(re, rp, content) {
  76. oReg = new RegExp(re, "ig");
  77. r = content.replace(oReg, rp);
  78. return r;
  79. }
  80. </Script>