加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

借助ASP新方法生成html

发布时间:2023-08-12 14:43:11 所属栏目:Asp教程 来源:
导读:随着技术发展现状已经有很多生成HTML的系统,今天小编就用函数实现把asp页面产生的html代码保存为HTML文件,接下来的时间里就让小编为大家非常利用ASP新方法生成html的内容。

由于代码比较短,这里就不进行注释了
随着技术发展现状已经有很多生成HTML的系统,今天小编就用函数实现把asp页面产生的html代码保存为HTML文件,接下来的时间里就让小编为大家非常利用ASP新方法生成html的内容。
 
由于代码比较短,这里就不进行注释了
 
复制代码 代码如下:
 
<%
 
'当目标页面的包含文件即#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
 
 

(编辑:聊城站长网)

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

    推荐文章