您当前的位置: 首页 > 网站编程 > ASP教程 > ASP生成html的新方法

ASP生成html的新方法

作者:不详 来源:网络 发布时间: 2011-03-11 10:16 点击:
已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了。^_^ 由于代码比较短,这里就不进行注释了 以下为引用的内容: % '当目标页面的包含

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的新方法"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4