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. ^_^Dado que el código es relativamente corto, no lo comentaré aquí.
Copie el código de código de la siguiente manera:
<%
'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 20041227111723.htm
tenue hughchiu_rtcode
Función get_exe_code(20041227111723.htm)
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(server.mappath(20041227111723.htm))
contenido = f.ReadAll
f.cerrar
establecer f = nada
establecer fso = nada
establecer re = nueva expresión regular
re.ignorecase = verdadero
re.global = verdadero
re.patrón = /</%/@[^/%]+/%/>
contenido = re.reemplazar (contenido,)
re.global = falso
re.pattern = /</!/-/-/s*/#include/s*file/s*=/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.patrón=^/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,contenido,<%)+2
bucle
establecer re1 = nada
establecer re = nada
execode = execode&vbcrlf& hughchiu_rtcode = hughchiu_rtcode&&reemplazar(reemplazar(Mid(content,aspEnd), , ), vbcrlf, &vbcrlf& )&&vbcrlf
get_exe_code = <%&execode&%/>
Función final
función asp2html(20041227111723.htm)
código oscuro
código = reemplazar( reemplazar( reemplazar( get_exe_code(20041227111723.htm), 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:
Copie el código de código de la siguiente manera:
establecer fso=CreateObject(Scripting.FileSystemObject)
establecer f=fso.CreateTextFile( server.mappath( youpage.htm ), verdadero )
f.WriteLine (asp2html (youpage.asp))
f.cerrar
establecer f = nada
establecer fso = nada