问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于整站程序生成HTML

发布网友 发布时间:2022-05-20 18:24

我来回答

1个回答

热心网友 时间:2023-11-09 03:42

目前已经有很多生成html的系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了。^_^

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

<%
'当目标页面的包含文件即#include的页面里边存在response.End()的时候本程序有问题
'注意:本文件一定要放在filename指向的文件的同一目录下
dim hughchiu_rtcode
Function get_exe_code(filename)
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(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( "youpage.htm" ), true )
f.WriteLine( asp2html("youpage.asp") )
f.close
set f = nothing
set fso = nothing

http://www.qostudy.org/pr/Article/asp/yingyong/200605/13333.html
http://www.3671041.com/Article/tushu/ASPNET/shilie/200510/1010.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 优秀高中作文素材:管鲍之交的成语精编故事 手臂上长的小肉疙瘩,让去世的老人摸一摸就会消失,是真的吗? 85式太极拳要几分钟 手掌内长了一个豆豆是什么呀? 60岁的老人身上靠血管附近长了大拇指大小的肉疙瘩是怎么回事啊?不疼、不痒 、有好几年了 电大是不是属于成教? 70岁老人,冬天手背痒,用手摸皮下有小米状疙瘩,请问医生怎么办,是什么病? 85太极拳吴阿敏正面表演 手掌无名指根部长小疙瘩,是什么病呢? 电大是属于成教吗 老人身上起大疙瘩,怎么回事,怎么办 常看到中老年人,手或腿的皮肤有一粒粒突起的疙瘩是怎么回事呀? 塑壳热水壶用会老化吗 血氧饱和度测什么的 血氧饱和度监测是什么东西 血氧是??新病人测血氧有什么用?? 来来大神,对讲机的天线是什么材质做的?用什么金属的线硬度和回弹性导电性比较好???看补充~~ 我是个大一的学生 老师要我们写一篇个人简历 不知要怎么写 所以问问大 野艾蒿可以每天泡脚吗 马上要夏天,有没有穿着舒服又百搭的的老爹鞋品牌推荐? wps word中怎样加结构框图成图片形式,就像很多设计报告中那样…… 家里总是闹老鼠有没有办法,不让老鼠进屋。 传统杨式85式太极拳演练一遍最好是多长时间 怎样整理家务,才不会让老鼠进来家里小妙招 谁了解上海永年太极拳社(85式杨式太极拳) 练习杨式太极拳85式43分左右后背汗多是什么原因? 85式杨式太极拳脚步角度,大部分是一只45度,一只60度吗?是否有脚步图形吗? red hat linux 9.0操作系统目前默认使用是什么类型的分区?例举5个Linux支持的分区类型? 清东陵有几个皇帝 清东陵安葬了多少位皇帝? 五行金旺,缺木缺水缺火,日主天干为金,属虎姓何,女孩,金(4) 木(1) 水(0) 火(1) 土(2) 缺水,取名 清东陵埋葬的人物有哪些? 清东陵都埋葬着哪几位皇帝和皇后? 2012年10月3号12点20分生的女孩叫什么名字比较好 父亲姓孙,属虎,生日6.28阴历 母亲姓齐,属虎 4.28阴历 清东陵埋葬有那些皇帝 清东陵有哪些帝王 女孩属虎 2011年1月9号早上8点48分出生 父亲姓解 五行土多 缺木水 需要十二笔画的名字 请给个回答 谢谢! 清东陵有哪些皇帝 清东陵有几个皇帝?拜托各位了 3Q 清东陵一共葬了多少个清朝皇帝