新微赢技术网

标题: C#运用正则表达式智能获取html模版页中模版信息的应用 [打印本页]

作者: 爲眀天活着    时间: 2009-3-16 14:04
标题: C#运用正则表达式智能获取html模版页中模版信息的应用
我们在做WebForm开发的时候经常会用到模版,可以方便地生成静态html页面,提高网站的访问速度,普通的模版应用有一定的局限性,一旦数量一多,势必会降低计算机的执行效率和代码的冗余度;但如果使用正则表达式,实限起来就非常容易,C#对正则表达式的支持非常好,不管html代码里有多少个模版标签,我们都可以一次把它全部取出来;当然,模版的写法也要有一定的规则(这很容易做到)!
    例如:我们在代码里面都按 $i_*(n1,n2,n3,n4,n5)$ 这样的标签定义(*为任意字符串),里面的[n1,n2,n3,n4,n5]为任意数字或字符,可以是文章的ID、截取字符串的长度、记录数等信息。

    然后我们在程序里面可以用如下正则表达式获取模版标签:
   //正则表达式
  string pat=@"\$i_.+?\([0-9]+,[0-9]+,[0-9]+,[0-9]+,[0-9]+\)?\$";
  Regex r=new Regex(pat,RegexOptions.IgnoreCase);

  MatchCollection matchs=r.Matches(mb);  //mb为html模版页面的代在码
  //生成相关内容
  foreach(Match match in matchs)
  {
    Value=match.Value.Substring(match.Value.IndexOf("(")+1,match.Value.IndexOf(")")-match.Value.IndexOf("(")-1);
    //Value为标签中的“n1,n2,n3,n4,n5”,在这里做你想做的事.....
作者: dgyys    时间: 2010-1-19 11:05
声明一下:本人看贴和回贴的规则,好贴必看,精华贴必回。




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2