一个用ASP生成html的新方法

本文介绍了一种将ASP页面转换为静态HTML文件的方法,通过解析ASP代码并替换动态部分为静态内容,使得原有的动态页面可以作为静态页面部署,适用于生成新闻系统的静态页面。

标签:
目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成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

Atlas 800 AI服务器(型号 9000 9000 )是基于华为鲲鹏 )是基于华为鲲鹏 )是基于华为鲲鹏 920+ 920+ 昇腾 910 处理器的 处理器的 AI 训练服务 器,实现完全自主可控广泛应用于深度学习模型开发和 器,实现完全自主可控广泛应用于深度学习模型开发和 器,实现完全自主可控广泛应用于深度学习模型开发和 器,实现完全自主可控广泛应用于深度学习模型开发和 器,实现完全自主可控广泛应用于深度学习模型开发和 器,实现完全自主可控广泛应用于深度学习模型开发和 器,实现完全自主可控广泛应用于深度学习模型开发和 AI 训练服务场景。该器 训练服务场景。该器 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 面向公有云、互联网运营商政府交通金融高校电力等领域,具计算 密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售密度、高能效比网络带宽易扩展管理等优点,支 持单机和整柜销售持风冷和液应用,满足企业机房部署大规模数据中心集群。 持风冷和液应用,满足企业机房部署大规模数据中心集群。 持风冷和液应用,满足企业机房部署大规模数据中心集群。 持风冷和液应用,满足企业机房部署大规模数据中心集群。 持风冷和液应用,满足企业机房部署大规模数据中心集群。 持风冷和液应用,满足企业机房部署大规模数据中心集群。 持风冷和液应用,满足企业机房部署大规模数据中心集群。 持
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值