你的位置:首页 > 软件开发 > ASP > ASP生成HTML页面

ASP生成HTML页面

发布时间:2008-04-02 14:36:00
<%@LANGUAGE="VBSCRIPT CODEPAGE="936"%><%当目标页面的包含文件即#include的页面里边存在response.End()的时候本程序有问题注意:本文件一定要放在filename指向的文件的同一目录下dim hughchiu_rtcodeFunction get_exe_code(filename)

<%@LANGUAGE="VBSCRIPT CODEPAGE="936"%>
<%
'当目标页面的包含文件即#include的页面里边存在response.End()的时候本程序有问题
'注意:本文件一定要放在filename指向的文件的同一目录下
dim hughchiu_rtcode
Function get_exe_code(filename)
    dim execode,tmp_str,re,re1,content,fso,f,aspStart,aspEnd, ms,m
    execode = ""
    set fso=CreateObject("Scripting.FileSystemObject")
    set f=fso.OpenTextFile(server.mappath(filename))
    content=f.ReadAll
    f.close
    set f=nothing
    set fso=nothing
 
    set re = new regexp
    re.ignorecase = true
    re.global = true
    re.pattern = "\<\%\@[^\%]+\%\>"
    content = re.replace(content,"")
 
    re.global = false
    re.pattern = "\<\!\-\-\s*\#include\s*file\s*=\s*\""([^\""]+)\""\s*\-\-\>"
    do
      set ms = re.execute(content)
      if ms.count<>0 then
         set m = ms(0)
         tmp_str = get_exe_code(m.submatches(0))
         content = re.replace(content, tmp_str)
      else
        exit do
      end if
    loop
    set m = nothing
    set ms = nothing
 
    re.pattern="^\s*="
    aspEnd=1
    aspStart=inStr(aspEnd,content,"<%")+2
 
    set re1=new RegExp
    re1.ignorecase = true
    re1.global = false
    re1.pattern = "response\.Write(.+)"
 
   do while aspStart>aspEnd+1
     execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( replace(Mid(content,aspEnd,aspStart-aspEnd-2),"""",""""""), vbcrlf, """&vbcrlf&""")&""""&vbcrlf
     aspEnd=inStr(aspStart,content,"%\>")+2
     tmp_str = Mid(content,aspStart,aspEnd-aspStart-2)
 
      do
         set ms = re1.execute(tmp_str)
         if ms.count<>0 then
            set m = ms(0)
            tmp_str = re1.replace(tmp_str, " hughchiu_rtcode = hughchiu_rtcode&"&m.submatches(0))
         else
            exit do
         end if
      loop
        set m = nothing
        set ms = nothing
        execode = execode& re.replace(tmp_str,"hughchiu_rtcode = hughchiu_rtcode&")
        aspStart=inStr(aspEnd,content,"<%")+2
   loop
 

    set re1 = nothing
    set re=nothing
    execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( replace(Mid(content,aspEnd), """", """"""), vbcrlf, """&vbcrlf&""" )&""""&vbcrlf
 get_exe_code = "<%"&execode&"%\>"
End Function

 

function asp2html(filename)
   dim code
   code = replace(replace(replace(get_exe_code(filename), "hughchiu_rtcode = hughchiu_rtcode&"""""&vbcrlf, "" ), "<%", "" ), "%\>", "" )
'response.Write(code)
   execute(code)
'response.Write( hughchiu_rtcode )
   asp2html = hughchiu_rtcode
end function
%>
<%
set fso=CreateObject("Scripting.FileSystemObject")
set f=fso.CreateTextFile( server.mappath( "index.htm" ), true )
f.WriteLine( asp2html("index.asp") )
f.close
set f = nothing
set fso = nothing

   response.write "<script language=javascript>" 
  response.write "alert('生成静态首页成功!!');" 
  response.write "</script>"
  response.write "<script language=javascript>"
  response.write "location='javascript:history.back(1)'"
  response.write "</script>"  
%>

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:ASP生成HTML页面

关键词:ASP

ASP
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。