注册 登录
编程论坛 ASP技术论坛

一个动态网页生成静态的HTML 的 子程序模块

kira007 发布于 2008-10-17 15:30, 1637 次点击
'参数说明
'demoname 使用的模板 [ ../demo/*.html]
'savename  保存位置以及名称 [ ../demo/*.html]
'strflag 需要替换的标记[ $aaa$,$bbb$]
'strcontent 各标记的替换内容[aaa$bbb]
'=============================================================================

Sub makepage(demoname,savename,strflag,strcontent)
Dim fso,htmlwrite  
Dim strOut  
'// 创建文件系统对象Set fso=Server.CreateObject("Scripting.FileSystemObject")  
'// 打开网页模板文件,读取模板内容
Set htmlwrite=fso.OpenTextFile(Server.MapPath(demoname))  
strOut=htmlwrite.ReadAll  
htmlwrite.close  
'=============================================================================
strflag=split(strflag,",")
for i = 0 to ubound(strflag)
strcont=split(strcontent,"$")
strOut=Replace(strOut,strflag(i),strcont(i))
'response.write strflag(i)&"="&"["&strcont(i)&"]<br>"
next
'// 用真实内容替换模板中的标记
 '=============================================================================
'// 创建要生成的静态页  


Set htmlwrite=fso.CreateTextFile(Server.MapPath(savename),true)  
'// 写入网页内容  
htmlwrite.WriteLine strOut  
htmlwrite.close  
Response.Write "<script language='javascript'>alert('页面新建成功!');history.go(-1);</script>"  
'// 释放文件系统对象  
set htmlwrite=Nothing  
set fso=Nothing  
end sub




---------------------------------------------------------------------------------------------------------------------------------------------
使用范例:

'替换标签
commentFlag="$hotname$,$webkeywords$,$webdescription$,$webtitle$,$weblogo$"
'替换标签对应的值
Hostname=Request.ServerVariables("SERVER_NAME")'获取当前域名
set rs=conn.execute("select webtitle_cn,webkey_cn,webDescription_cn,weblogo,webbanner  from [WebConfig]")
commentstr=Hostname&"$"&rs(1)&"$"&rs(2)&"$"&rs(0)&"$"&rs(3)
rs.close
set rs=nothing

'调用子程序

call makepage("../Demo/index_cn.html","../Cn/index.html",commentFlag,commentstr)

[[it] 本帖最后由 kira007 于 2008-10-17 15:44 编辑 [/it]]
5 回复
#2
nicechlk2008-10-17 15:57
呵呵,好东西
#3
kira0072008-10-20 14:57
是不是 太普通、简单了,所以没有朋友 来 评论?????
1