首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

一个用ASP生成html的新方法

来源: 互联网    日期:2007-1-13 15:11:12
 

    目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了。^_^  [转自:711网络工作室 http://www.tc711.com]

    由于代码比较短,这里就不进行注释了  [转自:711网络工作室 http://www.tc711.com]

    <%
    '当目标页面的包含文件即#include的页面里边存在response.End()的时候本程序有问题
    '注意:本文件一定要放在filename指向的文件的同一目录下
    dim hughchiu_rtcode
    Function get_exe_code(filename)
     dim execode
     dim tmp_str
     Dim re,re1,content,fso,f,aspStart,aspEnd
     dim ms,m
     execode = ""
     set fso=CreateObject("Scripting.FileSystemObject")
     set f=fso.OpenTextFile(server.mappath(filename))
     content=f.ReadAll
     f.close
     set f=nothing
     set fso=nothing
     
     set re = new regexp
     re.ignorecase = true
     re.global = true
     re.pattern = "\<\%\@[^\%]+\%\>"
     content = re.replace(content,"")
     
     re.global = false
     re.pattern = "\<\!\-\-\s*\#include\s*file\s*=\s*\""([^\""]+)\""\s*\-\-\>"
     do
     set ms = re.execute(content)
    if ms.count<>0 then
    set m = ms(0)
    tmp_str = get_exe_code(m.submatches(0))
    content = re.replace(content, tmp_str)
    else
    exit do
    end if
     loop
     set m = nothing
     set ms = nothing
     
     re.pattern="^\s*="
     aspEnd=1
     aspStart=inStr(aspEnd,content,"<%")+2
     
     set re1=new RegExp
     re1.ignorecase = true
     re1.global = false
     re1.pattern = "response\.Write(.+)"
     
     do while aspStart>aspEnd+1
     execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( replace(Mid(content,aspEnd,aspStart-aspEnd-2),"""",""""""), vbcrlf, """&vbcrlf&""")&""""&vbcrlf
     aspEnd=inStr(aspStart,content,"%\>")+2
     tmp_str = Mid(content,aspStart,aspEnd-aspStart-2)
     
    do
    set ms = re1.execute(tmp_str)
    if ms.count<>0 then
    set m = ms(0)
    tmp_str = re1.replace(tmp_str, " hughchiu_rtcode = hughchiu_rtcode&"&m.submatches(0))
    else
    exit do
    end if
    loop
     
     set m = nothing
     set ms = nothing
     
     execode = execode& re.replace(tmp_str,"hughchiu_rtcode = hughchiu_rtcode&")

     aspStart=inStr(aspEnd,content,"<%")+2
     loop
     
     set re1 = nothing
     set re=nothing
     
     execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( replace(Mid(content,aspEnd), """", """"""), vbcrlf, """&vbcrlf&""" )&""""&vbcrlf
     get_exe_code = "<%"&execode&"%\>"
    End Function

     

    function asp2html(filename)
    dim code
    code = replace( replace( replace( get_exe_code(filename), "hughchiu_rtcode = hughchiu_rtcode&"""""&vbcrlf, "" ), "<%", "" ), "%\>", "" )
    'response.Write(code)
    execute(code)
    'response.Write( hughchiu_rtcode )
    asp2html = hughchiu_rtcode
    end function
    %>

    使用范例:

set fso=CreateObject("Scripting.FileSystemObject")
    set f=fso.CreateTextFile( server.mappath( "youpage.htm" ), true )
    f.WriteLine( asp2html("youpage.asp") )
    f.close
    set f = nothing
    set fso = nothing

    希望这个函数对大家有点用,由于水平有限,有错的地方请大家指出,并希望能加以改进。

     



更多的一个用ASP生成html的新方法请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2007-1-13 15:11:12   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报