asp動態頁面如何生成html頁面_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:淺析ASP AJAX做類似google的搜索提示
      主要要文件有: Index.html 實現功能,一個文本框,輸入內容并實現提示 search.asp 查詢功能,讓文本框輸入的內容在數據庫中查詢,然后返回給客戶端 conn.asp 數據庫連接功能,實現與

      目前已經有很多生成html的新聞系統,但是都是用的模板,本函數實現把asp頁面產生的html代碼保存成為一個html文件,這樣就沒有必要改動原來的頁面就可以輕松

      完成一個生成html的新聞系統了。^_^

      由于代碼比較短,這里就不進行注釋了

      <%
      '當目標頁面的包含文件即#include的頁面里邊存在response.End()的時候本程序有問題
      '注意:本文件一定要放在filename指向的文件的同一目錄下

      以下為引用的內容:
      dim hughchiu_rtcode
      Function get_exe_code(filename)
      dim execode
      dim tmp_str
      Dim re,re1,content,fso,f,aspStart,aspEnd
      dim ms,m
      execode = ""
      set fso=CreateObject("Scripting.FileSystemObject")
      set f=fso.OpenTextFile(server.mappath(filename))
      content=f.ReadAll
      f.close
      set f=nothing
      set fso=nothing

      set re = new regexp
      re.ignorecase = true
      re.global = true
      re.pattern = "<%@[^%] %>"
      content = re.replace(content,"")

      re.global = false
      re.pattern = "<!--s*#includes*files*=s*""([^""] )""s*-->"
      do
      set ms = re.execute(content)
      if ms.count<>0 then
      set m = ms(0)
      tmp_str = get_exe_code(m.submatches(0))
      content = re.replace(content, tmp_str)
      else
      exit do
      end if
      loop
      set m = nothing
      set ms = nothing

      re.pattern="^s*="
      aspEnd=1
      aspStart=inStr(aspEnd,content,"<%") 2

      set re1=new RegExp
      re1.ignorecase = true
      re1.global = false
      re1.pattern = "response.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(content,aspStart,aspEnd-aspStart-2)

      do
      set ms = re1.execute(tmp_str)
      if ms.count<>0 then
      set m = ms(0)
      tmp_str = re1.replace(tmp_str, " hughchiu_rtcode = hughchiu_rtcode&"&m.submatches(0))
      else
      exit do
      end if
      loop

      set m = nothing
      set ms = nothing

      execode = execode& re.replace(tmp_str,"hughchiu_rtcode = hughchiu_rtcode&")

      aspStart=inStr(aspEnd,content,"<%") 2
      loop

      set re1 = nothing
      set re=nothing

      execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( replace(Mid(content,aspEnd), """", """"""), vbcrlf, """&vbcrlf&""" )

      &""""&vbcrlf
      get_exe_code = "<%"&execode&"%>"
      End Function

       

      function asp2html(filename)
      dim code
      code = replace( replace( replace( get_exe_code(filename), "hughchiu_rtcode = hughchiu_rtcode&"""""&vbcrlf, "" ), "<%", "" ), "%>", "" )
      'response.Write(code)
      execute(code)
      'response.Write( hughchiu_rtcode )
      asp2html = hughchiu_rtcode
      end function
      %>


      使用范例:

      以下為引用的內容:
      set f=fso.CreateTextFile( server.mappath( "youpage.htm" ), true )
      f.WriteLine( asp2html("youpage.asp") )
      f.close
      set f = nothing
      set fso = nothing

       

      分享:通過啟動腳本感知ASP的力量
      和大多數的語言腳本一樣,學習ASP最好的方法就是親身嘗試ASP,使用你自己的系統安裝PWS或者IIS。你可以邊學習邊在你自己的服務器上測試ASP組件和函數。為了方便學習,我們已經編譯了一些操

      來源:模板無憂//所屬分類:ASP教程/更新時間:2009-06-18
      相關ASP教程