|
作者: winlogin [winlogin] 论坛用户 | 登录 |
<% '//////////////////////////////////////////////////////////// '//用途:主要用于静态资源面页的生成..本类也适用于其它系统的静态页面的生成 '//调用实例: '// Dim TClass '// Set TClass=New Tkl_TemplateClass '// TClass.OpenTemplate("e:/t.htm") '// TClass.StartElement="<!--资源标题标识-开始-->" '// TClass.EndElement="<!--资源标题标识-结束-->" '// TClass.Value="这是资源标题的替换内容" '// TClass.ReplaceTemplate() '// '// TClass.StartElement="<!--资源内容-开始-->" '// TClass.EndElement="<!--资源内容-结束-->" '// TClass.Value="我将替换成资源的内容" '// TClass.ReplaceTemplate() '// '// TClass.Save() '// TClass.SaveAs("e:/t1.htm") '// Set TClass=Nothing '//////////////////////////////////////////////////////////// Class Tkl_TemplateClass Public FilePath '模板文件 Private Template '模板暂存变量 Public StartElement '元素开始标签 Public EndElement '元素结束标签 Public Value '插入内容 Private Fso Private Fle Private regEx Private FileState '文件状态 Private Sub Class_Initialize FileState=False FilePath="" Template="" StartElement="" EndElement="" Set regEx = New RegExp With regEx .Multiline = True .IgnoreCase = True .Global = True End With Set Fso = Server.CreateObject("Scripting.FileSystemObject") End Sub Private Sub class_Terminate FilePath="" Template="" StartElement="" EndElement="" Set regEx=Nothing Set Fle=Nothing Set Fso=Nothing End sub Private Function FilterStr(str) FilterStr=str If str="" Or IsNull(FilterStr) Then FilterStr="" Else FilterStr=Replace(FilterStr,"\","\\") FilterStr=Replace(FilterStr,"(","\(") FilterStr=Replace(FilterStr,")","\)") FilterStr=Replace(FilterStr,"*","\*") FilterStr=Replace(FilterStr,"?","\?") FilterStr=Replace(FilterStr,"{","\{") FilterStr=Replace(FilterStr,"}","\}") FilterStr=Replace(FilterStr,".","\.") FilterStr=Replace(FilterStr,"+","\+") FilterStr=Replace(FilterStr,"[","\[") FilterStr=Replace(FilterStr,"]","\]") End If End Function '//设置模板文件路径 Public Function OpenTemplate(mFilePath) Set Fle=Fso.OpenTextFile(mFilePath,1) Template=Fle.ReadAll Fle.Close FileState=True FilePath=mFilePath End Function '//规换模版元素,元素标签一般格式为:"<!-元素标签-开始--><!--元素标签-结束-->",你当然也可以自义 '//无素标签不区分大小写 Public Function ReplaceTemplate() If (Not FileState) Or Template="" Or StartElement="" Or EndElement="" Then Exit Function End If Dim strPatrn strpatrn=FilterStr(StartElement) & "[\S\s]*?" & FilterStr(EndElement) regEx.Pattern = strPatrn Template=regEx.Replace(Template,StartElement & vbCrLf & Value & vbCrLf & EndElement) End Function '//保存新的模板内容 Public Function Save() If (Not FileState) Then Exit Function End If Set Fle=Fso.OpenTextFile(FilePath,2) Fle.Write Template Fle.Close End Function '//另存模板内容 Public Function SaveAs(mFilePath) If (Not FileState) Then Exit Function End If Set Fle=Fso.OpenTextFile(mFilePath,2,1) Fle.Write Template Fle.Close End Function End Class %> |
地主 发表时间: 04-03-04 17:02 |
回复: xujun_cool [xujun_cool] 论坛用户 | 登录 |
看了有点晕 要高人指点 |
B1层 发表时间: 04-03-05 22:40 |
回复: wlbyyh [wlbyyh] 论坛用户 | 登录 |
这是一个调用到FSO的ASP文件,通过Asp组件中对文件的访问和新建的功能,可以按用户输入的数据 自动生成模板文件, |
B2层 发表时间: 04-03-20 09:32 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号