|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了。^_^ 由于代码比较短,这里就不进行注释了 <% \\\'当目标页面的包含文件即#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*#includes*files*=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 希望这个函数对大家有点用,由于水平有限,有错的地方请大家指出,并希望能加以改进。 返回类别: 教程 上一教程: 网页中实现OICQ里的头像选择的下拉框 下一教程: 截取一定长度字符串 您可以阅读与"一个用ASP生成HTML的新方式"相关的教程: · 将一个ASP页面执行过的生成HTML代码保存为HTML文件 · ASP向NT域中加一个用户 · 在ASP程序中打印EXCEL报表的新方式 · 介绍一个用ASP来压缩ACCESS数据库的例子 · ASP小偷偷取地址并生成HTML |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |