asp 静态文件 工具类

来源:互联网 发布:怎么彻底清除黑头 知乎 编辑:程序博客网 时间:2024/06/05 16:17

<%
''''''''''''''''''''''''''''''''''''''''''''''''''''
'set template=new TemplateState
'template.openTemplate('template.html') 读取模板内容
'template.value="value" 文章内容
'template.replaceKeyWord keyword url 替换关键词
'template.replaceText("/$content/$") 替换模板内容
'template.saveTemplateAs("1.html") 生成文件
''''''''''''''''''''''''''''''''''''''''''''''''''''
Class TemplateState
Public FilePath
Public StartPosition
Public EndPosition
Public Value
Public TemplateContent

Public Fso
Public File
Public regEx

Private Sub Class_Initialize
FilePath=""
StartPosition=""
EndPosition=""
Value=""
TemplateContent=""
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
Set regEx=New RegExp
With regEx
.Multiline=True
.Ignorecase=True
.Global=True
End With
End Sub

Private Sub Class_Terminate
FilePath=""
StartPosition=""
EndPosition=""
Value=""
Set regEx=Nothing
Set File=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(sFilePath)
Set File=Fso.openTextFile(Server.Mappath(sFilePath),1)
TemplateContent=File.ReadAll()
File.Close
FilePath=sFilePath
End Function

Public Function replaceTemplate()
If StartPosition="" Or EndPosition="" Or TemplateContent="" Then
Exit Function
End If
Dim strPattern
strPattern=FilterStr(StartPosition) & "[/S/s]*?" & FilterStr(EndPosition)
regEx.Pattern=strPattern
TemplateContent=regEx.Replace(TemplateContent,StartPosition & vbcrlf & Value & vbcrlf & EndPosition)
End Function

    Public Function ReplaceText(patrn)
        regEx.Pattern = patrn
TemplateContent=regEx.Replace(TemplateContent,Value)
    End Function

Public Function ReplaceKeyword(keyword,url)
regEx.Pattern=keyword
Value=regEx.Replace(Value,"<a href="&url&">"&keyword&"</a>")
End Function

Public Function saveTemplate()
Set File=Fso.openTextFile(Server.Mappath(FilePath),2)
File.Write TemplateContent
File.Close
End Function

Public Function saveTemplateAs(sFilePath)
Set File=Fso.openTextFile(Server.Mappath(sFilePath),2,true)
File.Write TemplateContent
File.Close
End Function
End Class 
%>