首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 100分寻求答案,关于模板替换方式的静态生成 [已结贴,结贴人:zhanglecn]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhanglecn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-22 21:58:02 楼主
    问题是这样的,下面是两个标签
    {mylabel type="title"/}
    这个标签的意思是显示一个文章的标题
    {mylabel type="articleList" wordlength="30" articleTypeId="20"/}
    这个标签的意思是显示文章所属类型的id为20的文章列表,标题最大长度为30,超过部分用省略号代替
    现在的问题是:要用正则表达式匹配出这个标签,并且获取里面的属性。
    如:一个页面中有多个这样的标签,把这些标签都获取到,然后根据id的不同以及其他相关的属性的不同替换成不同的内容。
    请问实现的方法
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • LQknife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 22:18:141楼 得分:10
    模板 没用过 帮你顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • winner2050
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 22:29:182楼 得分:0
    -_-!! 自己发明的标签确搞不定。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • iuhxq
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 08:10:163楼 得分:0
    引用 2 楼 winner2050 的回复:
    -_-!! 自己发明的标签确搞不定。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chuxue1342
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 08:16:214楼 得分:0
    标签还要用正则式?直接用ID不行吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 08:19:055楼 得分:0
    lz请说的再明白点.
    有点晕
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhanglecn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 08:24:086楼 得分:0
    这些标签是写在模板里面的,新增加内容的时候需要把模板里的标签读取出来然后替换成相应的内容。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jack20080808
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 09:27:407楼 得分:0
    标签自己定义的,replace不就完啦?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Feiin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 09:33:378楼 得分:10
    正则表达式可以实现你的要求
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangkun9999
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 09:58:479楼 得分:0
    C# code
    @"(?<=\{mylabel)(?<mylabel>[^{}]*)(?=\})",
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangkun9999
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 10:19:2110楼 得分:80
    C# code
    string str="{mylabel type=\"title\"/}{mylabel type=\"articleList\" wordlength=\"30\" articleTypeId=\"20\"/}"; System.Text.RegularExpressions.Regex reg=new System.Text.RegularExpressions.Regex(@"\{mylabel\s+type=""(?<type>[^""\{\}]\w+)""(\s+wordlength=""(?<wordlength>[^""\{\}]\d+)""\s+articleTypeId=""(?<articleTypeId>[^""\{\}]\d+)"")?/\}",System.Text.RegularExpressions.RegexOptions.IgnoreCase); System.Text.RegularExpressions.MatchCollection m = reg.Matches(str); //设定要查找的字符串 for (int i = 0; i < m.Count; i++) { Response.Write(m[i].Groups["type"].ToString()+"<br>"); }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhanglecn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 14:07:4911楼 得分:0
    m[i].Groups["type"] 请问这句里面Group["type"]里的Type是可以获取标签里面所有的键—值吗?
    在这句后面可不可以这样获取这些值:
    m[i].Groups["wordlength"]
    m[i].Groups["articleTypeId"]
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ASP_lover
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 16:14:2512楼 得分:0
    该回复于2008-08-24 00:21:39被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cat_hsfz
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 19:22:3013楼 得分:0
    这些模板是ASPX内直接编写的,还是编写后存放在数据库里的?

    如果是直接写在ASPX内的,你要自己写BuildProvider,相当于ASP.NET编译器插件,让编译器能够理解你的模板。如果是放在数据库里的,就好像论坛的UBB Code那样,那么你自己读取出来正则识别然后生成内容吧,例如是正则描述不了的复杂语法,你需要自己写词法分析、语法分析,这些就是编译原理的内容了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhanglecn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 20:24:4114楼 得分:0
    刚刚从网上找了一篇《正则表达式30分钟入门教程》的文章看了,收获很大,谢谢大家。结贴
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved