`
txf2004
  • 浏览: 6867605 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个用ASP生成html的新方法

阅读更多

标签:
目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了。^_^
  由于代码比较短,这里就不进行注释了

<%
'当目标页面的包含文件即#include的页面里边存在response.End()的时候本程序有问题
'注意:本文件一定要放在20041227111723.htm指向的文件的同一目录下
dim hughchiu_rtcode
Function get_exe_code(20041227111723.htm)
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(20041227111723.htm))
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(20041227111723.htm)
dim code
code = replace( replace( replace( get_exe_code(20041227111723.htm), "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方法大全

    方法一:FSOSet fs = CreateObject(“Scripting.FileSystemObject”)NewFile=Server.MapPath(“/asp/chap06/at/newfile.html”)‘新建一文件/newfile.html,若该文件已存在,则覆盖它Set a = fs.CreateTextFile&#40;...

    ASP生成html的新方法

    目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了。^_^

    第一网站导航[生成html]网址管理系统(ASP)

    1:整站全部生成html,易于搜索引擎收录 2:全后台化管理,操作简单 3:新站登陆功能 4:密码md5加密 5:后台登陆验证码识别 6:后台美化 7:新站登陆验证码识别 8:网站信息设置:网站名称,网站地址,站长邮箱等 9...

    最新的ASP.NET三层生成器2.0版本

    在原来.NET三层生成器(免费)(简单三层、抽象工厂模式)(SqlServer、MySql)的基础上增加了很多功能: ...最后:大家在用的过程中如果有什么问题可以给我留言,我再完善一下,祝大家使用方便,高效开发项目!

    淘宝店铺货源导航(生成html)仿主机之家风格版带精美淘宝客 v1008.rar

    淘宝店铺货源导航(生成html)仿主机之家风格版带精美淘宝客V100810 v100810版本在v100715的基础上做了如下改动 1、修正了已知的错位问题。 2、修正在二级文件夹下搜索路径错误的问题。 3、修正底部导航页面的广告调用...

    精益求精上网导航(生成html)精美版 v090327

    22:采用新的网站审核机制 23:类别合并功能 24:重复域名禁止登陆功能 25:“实用酷站”管理 演示:http://www.j1qj.com 下载:http://www.j1qj.com/down/m.html 安装方法: 1:将源码全部上传到网站空间,进入后台...

    精益求精上网导航(生成html) v090308.rar

    注:如果你是用本地IIS访问的话有可能将无法生成html建议上传到空间 部分文件和目录介绍: data/j1qj.asp 主站数据库文件 conn.asp 主站数据库连接文件 login.asp 新站登陆页 admin/ 后台管理目录,建议修改

    100tom实用网址导航2007精美版 有后台(生成html)

    呵呵,各位请见谅) &lt;br/&gt;这一版我就做了三个版本,一个单一的版本,一个跟动网论坛统一数据库版本,一个跟动网论坛和Oblog统一用户数据库功能。 有问题请联系: msn:.soso-0@163...

    晓宇导航618最新正式版(全部生成HTML)-v2009.0810

    ☆安装使用方法☆ 1.在支持ASP的服务器上解开本软件包。 2.数据库文件在datavip目录,已经做了防下载处理。 3.后台登录地址在admin0810/index.asp,默认管理员账号:admin,密码:admin888。 4.进入后台根据...

    ASP.NET静态页生成方法

    主要介绍了ASP.NET静态页生成方法,主要有读取模板页、匹配替换标签与生成新HTML页等步骤,是asp.net项目开发中非常实用的技巧,需要的朋友可以参考下

    asp.net知识库

    [ASP.NET 2.0]PageParser.GetCompiledPageInstance中存在一个Bug 如何在DotNet 2的登录组件中检索用户的锁定状态及解锁? ASP.NET 2.0, 想说爱你不容易 SqlDataSource WEB控件:当DeleteCommandType= 遭遇 ASP.NET ...

    仿世纪佳缘婚介交友系统5.3 ASP+SQL

    2、启动IIS(以IIS6.0+为例),在网站新添加一个网站,设置正确物理路径确定保存。 3、其它详细设置可以参考:http://www.nslove.net/dispbbs.php?boardid=4&id=1023 4、如何登录Nslove系统后台: (1)前台入口...

    利用ASP.NET技术动态生成HTML页面

    利用如Dw-Mx这样的工具生成html格式的模板,在需要添加格式的地方加入特殊标记(如$htmlformat$),动态生成文件时利用代码读取此模板,然后获得前台输入的内容,添加到此模板的标记位置中,生成新文件名后写入磁盘,...

    asp在线考试系统(asp+access实现)

    strid1=strid1 & rs("ID") & ","是将所有选出的试题的id号用逗号分割后存储在strid1一个变量中,以方便的把所有选出的试题的id号传到result.Asp文件中,这也是本设计的一个独特的地方。需要说明的是strid1变量的...

    ASP.NET的网页代码模型及生命周期

    但是与.cs页面编译过程不同的是,当浏览者第一次浏览到.aspx页面时,ASP.NET自动生成该页的.NET类文件,并将其编译成另一个.DLL文件。 当浏览者再一次浏览该页面的时候,生成的.DLL就会在服务器上运行,并响应用户在...

    ASP.NET MVC 3高级编程

    2.4.2 创建第一个(非常简单的)控制器 29 2.4.3 控制器操作中的参数 31 2.5 小结 33 第3章 视图 35 3.1 视图的作用 36 3.2 指定视图 38 3.3 强类型视图 39 3.4 视图模型 41 3.5 添加视图 42 3.5.1 add view...

    精益求精上网导航(生成html) v09.06.07.rar

    精益求精上网导航精美版(生成html)V090607 源码简介: 1:整站全部生成html,易于搜索引擎收录 2:全后台化管理,操作简单 3:新站登陆功能 4:密码md5加密 5:后台登陆验证码识别 6:后台美化 7:新站登陆...

    ASP动态网页教程下载

    比如,当鼠标移至文章段落中,段落能够变成蓝色,或者当你点击一个超链后会自动生成一个下拉式的子超链目录。这就是Dynamic HTML(动态HTML),它是近年来网络飞速发展进程中最振奋人心也是最具实用性的创新之一。它...

    ASP设计在线考试系统OnlineTest

    一个关于在线考试的web系统,具有试卷生成功能的ASP+SQL Server源码-an examination of online web system, Generating function papers with the ASP SQL Server source code ======================== 考试系统...

Global site tag (gtag.js) - Google Analytics