Hay muchos sistemas de noticias que generan html, pero todos usan plantillas. Esta función guarda el código html generado por la página asp en un archivo html. De esta manera, no es necesario cambiar la página original y puede completar una fácilmente. Sistema de generación de noticias html. ^_^
Como el código es relativamente corto, no lo comentaré aquí
<%
'Hay un problema con este programa cuando existe respuesta.End() en el archivo de inclusión de la página de destino, es decir, la página #include.
'Nota: este archivo debe colocarse en el mismo directorio que el archivo al que apunta el nombre de archivo
tenue hughchiu_rtcode
Función get_exe_code(nombre de archivo)
código de ejecución tenue
tenue tmp_str
Dim re,re1,content,fso,f,aspStart,aspEnd
sra. tenue, m
código de ejecución = ""
establecer fso=CreateObject("Scripting.FileSystemObject")
establecer f=fso.OpenTextFile(servidor.mappath(nombre de archivo))
contenido = f.ReadAll
f.cerrar
establecer f = nada
establecer fso = nada
establecer re = nueva expresión regular
re.ignorecase = verdadero
re.global = verdadero
re.pattern = "<%@[^%]+%>"
contenido = re.replace(contenido,"")
re.global = falso
re.pattern = "<!--s*#includes*files*=s*""([^""]+)""s*- ->"
hacer
establecer ms = re.execute (contenido)
si ms.count<>0 entonces
establecer m = ms(0)
tmp_str = get_exe_code(m.submatches(0))
contenido = re.replace(contenido, tmp_str)
demás
salir hacer
terminar si
bucle
establecer m = nada
establecer ms = nada
re.pattern="^s*="
aspEnd=1
aspStart=inStr(aspEnd,contenido,"<%")+2
establecer re1 = nueva expresión regular
re1.ignorecase = verdadero
re1.global = falso
re1.pattern = "respuesta.Escribir(.+)"
hacer mientras aspInicio>aspEnd+1
execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( reemplazar(Mid(content,aspEnd,aspStart-aspEnd-2),"""",""""""), vbcrlf, """&vbcrlf&""") &""""&vbcrlf
aspEnd=inStr(aspInicio,contenido,"%>")+2
tmp_str = Medio(contenido,aspStart,aspEnd-aspStart-2)
hacer
establecer ms = re1.execute (tmp_str)
si ms.count<>0 entonces
establecer m = ms(0)
tmp_str = re1.replace(tmp_str, " hughchiu_rtcode = hughchiu_rtcode&"&m.submatches(0))
demás
salir hacer
terminar si
bucle
establecer m = nada
establecer ms = nada
execode = execode& re.replace(tmp_str,"hughchiu_rtcode = hughchiu_rtcode&")
aspStart=inStr(aspEnd,content,"<%")+2
bucle
establecer re1 = nada
establecer re = nada
execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( reemplazar(Mid(content,aspEnd), """", """""), vbcrlf, """&vbcrlf&""" )&""""&vbcrlf
get_exe_code = "<%"&execode&"%>"
Función final
función asp2html(nombre de archivo)
código oscuro
código = reemplazar( reemplazar( reemplazar( get_exe_code(nombre de archivo), "hughchiu_rtcode = hughchiu_rtcode&"""""&vbcrlf, "" ), "<%", "" ), "%>", "" )
'respuesta.Escribir(código)
ejecutar (código)
'respuesta.Escribir(hughchiu_rtcode)
asp2html = hughchiu_rtcode
función final
%>
Ejemplo de uso:
establecer fso=CreateObject("Scripting.FileSystemObject")
establecer f=fso.CreateTextFile(servidor.mappath( "youpage.htm"), verdadero)
f.WriteLine(asp2html("youpage.asp"))
f.cerrar
establecer f = nada
set fso = nada
Espero que esta función sea útil para todos. Debido al nivel limitado, señale cualquier error y espero que se pueda mejorar.