一个动态网页生成静态的HTML 的 子程序模块
'参数说明'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]]