HTMLを生成するニュースシステムはすでに多数ありますが、いずれもテンプレートを使用する機能で、ASPページで生成したHTMLコードをHTMLファイルに保存するため、元のページを変更する必要がなく、簡単に完成します。 HTML システムのニュース世代。 ^_^コードは比較的短いため、ここではコメントしません。
次のようにコードをコピーします。
<%
' ターゲット ページのインクルード ファイル、つまり #include ページに response.End() が存在する場合、このプログラムには問題があります。
注: このファイルは、20041227111723.htm が指すファイルと同じディレクトリに配置する必要があります。
薄暗いhughchiu_rtcode
関数 get_exe_code(20041227111723.htm)
薄暗い実行コード
薄暗い tmp_str
ディム re,re1,content,fso,f,aspStart,aspEnd
薄暗いms、m
実行コード=
set fso=CreateObject(Scripting.FileSystemObject)
set f=fso.OpenTextFile(server.mappath(20041227111723.htm))
content=f.ReadAll
f.閉じる
f=何も設定しない
fso=何も設定しない
set re = 新しい正規表現
re.ignorecase = true
re.global = true
re.pattern = /</%/@[^/%]+/%/>
コンテンツ = re.replace(コンテンツ,)
re.global = false
re.pattern = /</!/-/-/s*/#include/s*file/s*=/s*/([^/]+)//s*/-/-/>
する
set ms = re.execute(コンテンツ)
if ms.count<>0 then
m = ms(0) を設定します。
tmp_str = get_exe_code(m.submatches(0))
content = re.replace(content, tmp_str)
それ以外
終了します
終了する場合
ループ
m = 何も設定しない
ms = 何も設定しない
re.pattern=^/s*=
aspEnd=1
aspStart=inStr(aspEnd,content,<%)+2
set re1=新しい正規表現
re1.ignorecase = true
re1.global = false
re1.pattern = 応答/.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(コンテンツ,asp開始,asp終了-asp開始-2)
する
set ms = re1.execute(tmp_str)
if ms.count<>0 then
m = ms(0) を設定します。
tmp_str = re1.replace(tmp_str、hughchiu_rtcode =hughchiu_rtcode&&m.submatches(0))
それ以外
終了します
終了する場合
ループ
m = 何も設定しない
ms = 何も設定しない
execode = execode& re.replace(tmp_str,hughchiu_rtcode =hughchiu_rtcode&)
aspStart=inStr(aspEnd,content,<%)+2
ループ
re1 = 何も設定しない
re=nothing を設定する
execode = execode&vbcrlf&hughchiu_rtcode =hughchiu_rtcode&&replace( replace(Mid(content,aspEnd), , ), vbcrlf, &vbcrlf& )&&vbcrlf
get_exe_code = <%&execode&%/>
終了機能
関数 asp2html(20041227111723.htm)
ディムコード
code = replace( replace( replace( get_exe_code(20041227111723.htm)、hughchiu_rtcode = hugehchiu_rtcode&&vbcrlf、 )、 <%、 )、 %/>、 )
'response.Write(コード)
実行(コード)
'response.Write(hughchiu_rtcode)
asp2html = ヒューチウ_rtcode
終了関数
%>
使用例:
次のようにコードをコピーします。
set fso=CreateObject(Scripting.FileSystemObject)
set f=fso.CreateTextFile(server.mappath(youpage.htm), true )
f.WriteLine( asp2html(youpage.asp) )
f.閉じる
f = 何も設定しない
fso = 何も設定しない