胡贤文:关于标签带参数的替换方法 for asp
一个动态网页可以用带参数的函数来完成很多效果。
然而生成静态可能没那么简单,不过可以把一些特定位置用到的函数参数值保存到数据库,然后从程序后台控制这些参数。但是这样非常的不方便,一担要用到的带参数函数太多,更使得程序在维护和修改时难度增大。
9959shop v5.0 和之前所有版本都用到这种方法。
其实还有一种最好的办法,就是在模板中运用带参数的标签。
我在网上查了一下,很多人在替换带参数的标签都用到了正则,不过我对正则不是很了解。 下面是我收集和修改的一个替换参数标签的方法:
sub ReplaceLabel(lable)
dim tmp1,tmp2,tmpstr,canshu
tmp2=1
while instr(tmp2,pagebody_Index,lable)>0
tmp1=instr(tmp2,pagebody_Index,lable)
tmp2=instr(tmp1+1,pagebody_Index,"%}")
tmpstr=mid(pagebody_Index,tmp1,tmp2-tmp1)
tmpstr=replace(tmpstr,lable,"")
tmpstr=replace(tmpstr,"(","")
tmpstr=replace(tmpstr,")","")
canshu=split(tmpstr,",")
select case lable
case "{%最新商品"
pagebody_Index=replace(pagebody_Index,lable&"("&tmpstr&")%}",newpro(canshu(0),canshu(1)))
if err then
response.write ("标签错误")
response.end
end if
end select
wend
end sub
其中 pagebody_Index 是已经读取出来的模板内容。
经过替换后,把原来的 {%最新商品(5,2)%} 替换成了 newpro(5,2) 这个函数。
newpro(5,2) 自己写 ,就是从数据库里读取用来替换这个标签的内容。
最后生成网页。
关于怎么生成 静态网页,可以参读另一篇文章
那你如何从模板文件中读取这一串: {%最新商品(5,2)%}
有时候模板文件中可能是{%最新商品(6,3)%}
你怎么获取呢??
我的Email: missthe@163.com