javascript和JQuery焦点图和代码特效大全
当前最流行的开源CMS网站系统大全
当前位置:首页 > 编程开发 > ASP

ASP生成html的新方法

来源:IT技术网编辑:疯子发布于:2017-06-14人围观

已经有很多生成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*#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(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

 

与相关的文章
有时间的话来看看IT界的突发事件