Es gibt viele Nachrichtensysteme, die HTML generieren, aber alle verwenden Vorlagen. Diese Funktion speichert den von der ASP-Seite generierten HTML-Code. Auf diese Weise ist es nicht erforderlich, die Originalseite zu ändern, und Sie können eine einfach vervollständigen Nachrichtengenerierung von HTML-System. ^_^Da der Code relativ kurz ist, werde ich ihn hier nicht kommentieren.
Kopieren Sie den Codecode wie folgt:
<%
„Es liegt ein Problem mit diesem Programm vor, wenn „response.End()“ in der Include-Datei der Zielseite, also der #include-Seite, vorhanden ist.
'Hinweis: Diese Datei muss im selben Verzeichnis abgelegt werden wie die Datei, auf die 20041227111723.htm verweist
dim Hughchiu_rtcode
Funktion get_exe_code(20041227111723.htm)
dunkler Execode
dimmen Sie tmp_str
Dimmen Sie re,re1,content,fso,f,aspStart,aspEnd
dim ms,m
ausführencode=
set fso=CreateObject(Scripting.FileSystemObject)
set f=fso.OpenTextFile(server.mappath(20041227111723.htm))
content=f.ReadAll
f.schließen
setze f=nichts
setze fso=nichts
set re = neuer regulärer Ausdruck
re.ignorecase = true
re.global = true
re.pattern = /</%/@[^/%]+/%/>
content = re.replace(content,)
re.global = false
re.pattern = /</!/-/-/s*/#include/s*file/s*=/s*/([^/]+)//s*/-/-/>
Tun
set ms = re.execute(content)
wenn ms.count<>0 dann
setze m = ms(0)
tmp_str = get_exe_code(m.submatches(0))
content = re.replace(content, tmp_str)
anders
beenden tun
Ende wenn
Schleife
setze m = nichts
setze ms = nichts
re.pattern=^/s*=
aspEnd=1
aspStart=inStr(aspEnd,content,<%)+2
set re1=new RegExp
re1.ignorecase = true
re1.global = false
re1.pattern = Antwort/.Write(.+)
tun, während 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)
Tun
set ms = re1.execute(tmp_str)
wenn ms.count<>0 dann
setze m = ms(0)
tmp_str = re1.replace(tmp_str, Hughchiu_rtcode = Hughchiu_RTcode&&m.submatches(0))
anders
beenden tun
Ende wenn
Schleife
setze m = nichts
setze ms = nichts
execode = execode& re.replace(tmp_str,hughchiu_rtcode = Hughchiu_rtcode&)
aspStart=inStr(aspEnd,content,<%)+2
Schleife
setze re1 = nichts
setze re=nichts
execode = execode&vbcrlf& Hughchiu_rtcode = Hughchiu_RTcode&&replace( replace(Mid(content,aspEnd), , ), vbcrlf, &vbcrlf& )&&vbcrlf
get_exe_code = <%&execode&%/>
Funktion beenden
Funktion asp2html(20041227111723.htm)
Dimmcode
code = ersetzen( ersetzen( ersetzen( get_exe_code(20041227111723.htm), Hughchiu_rtcode = Hughchiu_rtcode&&vbcrlf, ), <%, ), %/>, )
'response.Write(code)
ausführen(Code)
'response.Write(hughchiu_rtcode)
asp2html = Hughchiu_rtcode
Endfunktion
%>
Anwendungsbeispiel:
Kopieren Sie den Codecode wie folgt:
set fso=CreateObject(Scripting.FileSystemObject)
set f=fso.CreateTextFile( server.mappath( youpage.htm ), true )
f.WriteLine( asp2html(youpage.asp) )
f.schließen
setze f = nichts
setze fso = nichts