会员登陆
登录加载中...
超级搜索
栏  目  
类  别  
关键词  
 站内搜索   网络搜索
  
 当前位置:文章首页>>本站原创>>网站编程>>对ASP函数标签的认识
推荐给你的朋友阅读:

对ASP函数标签的认识

来源:飞腾设计网 发表日期: 2011-04-10 21:13:11

    以前FeitecCMS模板中采用的都是静态标签(如{$IndexPic } ),对函数标签(如{$IndexPic(0,0,1,1,1,1,图片) } )则没有使用,搜索网上相关资料也比较杂乱有限,今天就在此处简单写写吧,一来方便新人学习,二来也可以作个备份,方便以后查看。

    先来看看下面的函数标签取出解析代码:

'============================================
'=函 数 名:ListDyTagReplace(TagName,Str)
'=作    用:多分类列表函数标签解释
'=参数说明:TagName-标签名称 Str-模板内容
'============================================
Function ListDyTagReplace(TagName,ByVal Str)
     If IsNull(Str) Or Trim(Str) = "" Then
        FunTagReplace=""
        Exit Function
     End If
     Dim n,i,ii,re
     Set re=new RegExp
     re.IgnoreCase=True
     re.Global=True
     re.Pattern = "\{\$"&TagName&"\((.*?)\)\}"
     Set ii = re.Execute(str)
     For Each i In ii
      n = Split(i.SubMatches(0), ",")
      If UBound(n)<>3 Then
       Str=Replace(Str,i.Value,"首页调用函数标签{$"&tagName&"("&i.SubMatches(0)&")}参数不等于4个。请修改!")
      Else
       Str=Replace(Str,i.Value,IndexListDy(n(0),n(1),n(2),n(3)))
      End If
     Next
     Set ii = Nothing
     Set re=Nothing
     ListDyTagReplace=Str
End Function

    下面就来分析上面的代码:

    1、上述代码最关键的就是正则\{\$"&TagName&"\((.*?)\)\} ,它匹配形如{$标签名(多个参数)}的函数标签,比如上述代码中匹配的是{$IndexPic(1,1,1,4)}

    2、函数标签带参数的个数多少可修改 If UBound(n)<>3 Then 这一行中的数字,以简单判断函数标签的使用正确性;

    3、对于取出的函数标签的功能解析是Str=Replace(Str,i.Value,IndexListDy(n(0),n(1),n(2),n(3)))这一句中的IndexListDy(n(0),n(1),n(2),n(3))函数,这个函数用于执行程序的某些功能,如按参数要求读取相关数据等。

    4、使用:在模板输出页面中,代码类似于:

    Ft_mbstr=ListDyTagReplace("ListArt",Ft_mbstr)

    就完成函数标签的解析及输出了。

    雨城后记:呵呵,这方面的资料在网上那是相当的少,想不到做好事的竟然是我哇 

44
0
[作者:雨城 关键词:ASP,函数标签 录入:raincity 责编:raincity 阅读次数:5451]
上一记录:没有上一条记录
下一记录:简单页面访问量统计函数

相关文章 相关新闻 相关软件 相关教程 公共评论 发表评论

  • ·暂无相关内容
    评论载入中...
    您的称呼  验 证 码   
    您的评论 [ 最多字数:  已用字数:剩余字数:]

     
COPYRIGHT 2003-2010 创意飞腾科技有限公司(The Feitec LTD.) ALL RIGHTS RESERVED .
官方咨询官方咨询4376161 官方咨询526743959 技术支持:FeitecCMS5366464
页面加载时间:93.75ms Powered By:FeitecCMS V4.0(Build1101)
[蜀ICP备05000881]