Já existem muitos sistemas de notícias que geram html, mas todos usam templates. Esta função salva o código html gerado pela página asp em um arquivo html. Desta forma, não há necessidade de alterar a página original e você pode completá-lo facilmente. uma nova geração de sistema html. ^_^Como o código é relativamente curto, não haverá comentários aqui.
Copie o código do código da seguinte forma:
<%
'Há um problema com este programa quando response.End() existe no arquivo de inclusão da página de destino, ou seja, a página #include.
'Nota: Este arquivo deve ser colocado no mesmo diretório que o arquivo apontado por 20041227111723.htm
dim hughchiu_rtcode
Função get_exe_code(20041227111723.htm)
escurecer execode
dim tmp_str
Dim re,re1,content,fso,f,aspStart,aspEnd
escurecer ms, m
código de execução=
definir fso=CreateObject(Scripting.FileSystemObject)
definir f=fso.OpenTextFile(server.mappath(20041227111723.htm))
content=f.ReadAll
f.fechar
definir f = nada
definir fso = nada
definir re = novo regexp
re.ignorecase = verdadeiro
re.global = verdadeiro
re.pattern = /</%/@[^/%]+/%/>
conteúdo = re.replace(conteúdo,)
re.global = falso
re.pattern = /</!/-/-/s*/#include/s*file/s*=/s*/([^/]+)//s*/-/-/>
fazer
definir ms = re.executar (conteúdo)
se ms.count<>0 então
definir m = ms(0)
tmp_str = get_exe_code(m.submatches(0))
conteúdo = re.replace(conteúdo, tmp_str)
outro
sair, faça
terminar se
laço
definir m = nada
definir ms = nada
re.pattern=^/s*=
aspFim=1
aspStart=inStr(aspEnd,conteúdo,<%)+2
definir re1 = novo RegExp
re1.ignorecase = verdadeiro
re1.global = falso
re1.pattern = resposta/.Write(.+)
faça enquanto aspStart>aspEnd+1
execode = execode&vbcrlf& hughchiu_rtcode = hughchiu_rtcode&&replace( substituir(Mid(content,aspEnd,aspStart-aspEnd-2),,), vbcrlf, &vbcrlf&)&&vbcrlf
aspEnd=inStr(aspStart,conteúdo,%/>)+2
tmp_str = Médio(conteúdo,aspStart,aspEnd-aspStart-2)
fazer
definir ms = re1.execute(tmp_str)
se ms.count<>0 então
definir m = ms(0)
tmp_str = re1.replace(tmp_str, hughchiu_rtcode = hughchiu_rtcode&&m.submatches(0))
outro
sair, faça
terminar se
laço
definir m = nada
definir ms = nada
execode = execode& re.replace(tmp_str,hughchiu_rtcode = hughchiu_rtcode&)
aspStart=inStr(aspEnd,conteúdo,<%)+2
laço
definir re1 = nada
definir re = nada
execode = execode&vbcrlf& hughchiu_rtcode = hughchiu_rtcode&&replace( substituir(meio(conteúdo,aspEnd), , ), vbcrlf, &vbcrlf& )&&vbcrlf
get_exe_code = <%&execode&%/>
Função final
função asp2html (20041227111723.htm)
código escuro
código = substituir( substituir( substituir( get_exe_code(20041227111723.htm), hughchiu_rtcode = hughchiu_rtcode&&vbcrlf, ), <%, ), %/>, )
'resposta.Write(código)
executar (código)
'resposta.Write(hughchiu_rtcode)
asp2html = hughchiu_rtcode
função final
%>
Exemplo de uso:
Copie o código do código da seguinte forma:
definir fso=CreateObject(Scripting.FileSystemObject)
definir f=fso.CreateTextFile( server.mappath( youpage.htm ), true )
f.WriteLine(asp2html(youpage.asp))
f.fechar
definir f = nada
definir fso = nada