加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP生成html的 新方式

发布时间:2023-07-15 13:41:15 所属栏目:Asp教程 来源:
导读:由于代码比较短,这里就不进行注释了 代码如下:<%&#39;当目标页面的包含文件即#include的页面里边存在response.End()的时候本程序有问题&#39;注意:本文件一定要放在20041227111723.htm指向的文件的同一目录下dim hu

由于代码比较短,这里就不进行注释了 

代码如下:

<%

'当目标页面的包含文件即#include的页面里边存在response.End()的时候本程序有问题

'注意:本文件一定要放在20041227111723.htm指向的文件的同一目录下

dim hughchiu_rtcode

Function get_exe_code(20041227111723.htm)

dim execode

dim tmp_str

Dim re,re1,content,fso,f,aspStart,aspEnd

dim ms,m

execode = ""

set fso=CreateObject("Scripting.FileSystemObject")

set f=fso.OpenTextFile(server.mappath(20041227111723.htm))

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(20041227111723.htm)

dim code

code = replace( replace( replace( get_exe_code(20041227111723.htm), "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( "youpage.htm" ), true )

f.WriteLine( asp2html("youpage.asp") )

f.close

set f = nothing

set fso = nothing

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章