如何实现HTML模板的标签

如何实现HTML模板的标签,第1张

天幻可以用replace函数或者正则表达式都可以例子: CreateFile.asp //===================================================================== 下面举一个简单的例子介绍一下这种思路的简单实现方法。

建立数据库db.mdb【使用Access】, 创建标签表Tag,字段如下: 自动编号 标签名称(文本型) 标签说明(文本型) 标签内容(备注型) ID tagName tagDesc tagCon 1 $Top_Nav$ 顶部导航 具体内容 创建模版表Template,字段如下: ID(自动编号) tName(文本,模版名称) tPath(文本,模版文件路径) Path(文本,保存路径) 1 公司介绍 /Template/Company.html /Company.html 【本例只介绍简单的文件模版使用,而非多个样式的模版】

后台标签、模版的添加修改删除就不在这里说明了,注意:本例中标签使用$符号开头和结尾。 Company.html部分代码:……$Top_Nav$……$Sys_Top_News$……先使用Fso或者其他方式以文本方式读取这个文件的内容,然后使用正则表达式,找到标签,并替换相应的标签内容。

FSO读取详见“FSO文件、文件夹 *** 作类”。 程序代码 '使用正则的处理标签的函数chxwei.com

Function ReplaceTags(ByVal sCon)

Dim objRegEx,Match,Matches

'建立正则表达式

Set objRegEx=New RegExp'查找内容objRegEx.Pattern="\$.*\$"

'忽略大小写

objRegEx.IgnoreCase=True'全局查找objRegEx.Global=True

Set Matches=objRegEx.Execute(sCon)

'循环替换已发现的匹配

For Each Match in Matches

sCon=Replace(sCon,Match.Value,ParseTag(Match.Value))NextSet Matches=Nothing

Set objRegEx=Nothing

ReplaceTags=sCon

End Function

'替换相应的标签内容chxwei.com

Function ParseTag(ByVal StrTag)

If Len(StrTag) = 0 Then Exit Function

ClsName=StrTagtmpTag=""If InStr(ClsName,"$Sys_")>0 Then '系统标签

Select Case ClsName

Case "$Sys_Top_News$" '最新文章信息

'中间读取数据库省略,循环读取数据赋值给tmpTagCase ElsetmpTag=""End SelectElse '自定义标签tmpTag=""Set RsT=Conn.Execute("Select tCon From TagList Where tName='"&className&"'")

If RsT.Eof Then

tmpTag=classNameElsetmpTag=RsT(0)End IfRsT.CloseSet RsT=NothingEnd IfParseTag=tmpTag

最后使用Fso把得到的内容按照模版保存的路径生成静态页面。

顾名思义,这是一个模板。比如需要ajax刷新一个列表,以前的做法是后端生成html返回,或者前端用DOM构建后加入,但现在有了template标签,html的架构就不需要程序管了,只需要在特定的位置加入ajax请求到的数据即可,比如img的src或者其他text之类的,然后clone这个DOM,加入列表。

其实许多人以前也应该做过类似的事情,把一段html隐藏起来,然后clone它并修改里面的属性或者内容,得到一个DOM,加入列表并显示,用来刷新ajax列表。

首先需要制作模版,模版通常为html的,其中包含你设置的标签

然后在另外一个asp文件中将模版的内容读取进来,用特定的变量值替换你的模版中的标签。天幻可以用replace函数或者正则表达式都可以

例子:

CreateFile.asp

<%

Dim TagValue:TagValue="标签展示出的效果"

Dim html

Set Fso=Server.CreateObject("Scripting.FileSystemObject")

Set TheFile=Fso.OpenTextFile(Server.MapPath("Template.html"),1)

Html=TheFile.ReadAll

html=Replace(Html,"{text_table}",TagValue)

Response.write(html)

theFile.Close()

Fso.Close()

%>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6154056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存