三、举例应用 <% '第一部分:我们定义一个变量Template存放模板内容 Dim Template Template = "标题:{$aaa.title}(日期:{$aaa.date})<br/><br/>内容:{$bbslist.begin}不错哈,{$bbb.content}{$bbslist.end}"
'第二部分:和模板驱动相关的四个重要函数 Sub TPL_Scan(sTemplate) Dim iPosLast, iPosCur iPosLast = 1 While True iPosCur = InStr(iPosLast, sTemplate, "{$") If iPosCur>0 Then TPL_Echo Mid(sTemplate, iPosLast, iPosCur-iPosLast) iPosLast = TPL_Parse(sTemplate, iPosCur+2) Else TPL_Echo Mid(sTemplate, iPosLast) Exit Sub End If Wend End Sub
Sub TPL_ParseNode(sTokenType, sTokenName) Select Case sTokenType Case "aaa" '细化给ParseAaaNode处理 ParseAaaNode sTokenName Case "bbb" '细化给ParseBbbNode处理 ParseBbbNode sTokenName End Select End Sub
Sub TPL_ParseArea(sTokenName, sTemplate) Select Case sTokenName Case "bbslist"
iT粉丝网
For i=0 To 4 '根据实际情况设置循环次数 TPL_Scan sTemplate Next Case "other" '省略 Case "other2" '省略 End Select End Sub
'第三部分:其他相关函数 TPL_Immediate = True Sub TPL_Echo(sStr) If TPL_Immediate Then Response.Write sStr Else TPL_Memo = TPL_Memo&sStr End If End Sub
Sub ParseAaaNode(sToken) Select Case sToken Case "title" Response.Write("这是贴子标题") Case "date" Response.Write("2008-01-31") Case "other" '省略 End Select End Sub
Sub ParseBbbNode(sToken) Select Case sToken Case "content" Response.Write("iT粉丝网:http://www.webjx.com/") Case "other" '省略 End Select End Sub