已經有很多生成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")
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")
f.writeline( asp2html("youpage.asp") )
f.close
set f = nothing
set fso = nothing
乙個用ASP生成html的新方法
乙個用asp生成html的新方法 目前已經有很多生成html的新聞系統,但是都是用的模板,本函式實現把asp頁面產生的html 儲存成為乙個html檔案,這樣就沒有必要改動原來的頁面就可以輕鬆完成乙個生成html的新聞系統了。由於 比較短,這裡就不進行注釋了 aspstart instr aspen...
乙個生成html的新方法
aspstart instr aspend,content,2 loop set re1 nothing set re nothing execode execode vbcrlf hughchiu rtcode hughchiu rtcode replace replace mid content...
乙個生成html的新方法
aspstart instr aspend,content,2 loop set re1 nothing set re nothing execode execode vbcrlf hughchiu rtcode hughchiu rtcode replace replace mid content...