杭州设计公司,杭州广告设计公司
网页设计
用ASP生成html
信息来源:未知     栏目类别: 网页设计     浏览次数:     发表评论 减小字体 增大字体

方法1:下面的例子是将、i**dex.asp?id=1/i**dex.asp?id=2/i**dex.asp?id=3/这三个动态
页面,分别生成**dex1.htm,i**dex2.htm,i**dex3.htm存在根目录下面:
<%
dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp
Html_Temp="<UL>"
For i=1 To 3
Html_Temp = Html_Temp&"<LI>"
Item_Classid = i
FileName = "I**dex"&Item_Classid&".htm"
FilePath = Server.MapPath("/")&"\"&FileName Html_Temp = Html_Temp&FilePath&"</LI>"
Do_Url = "http://"
Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/mai**/i**dex.asp"
Do_Url = Do_Url&"?Item_Classid="&Item_Classid


strUrl = Do_Url
dim objXmlHttp
set objXmlHttp = Server.createObject("Microsoft.XMLHTTP")
objXmlHttp.ope** "GET",strUrl,false
objXmlHttp.se**d()
Dim bi**FileData
bi**FileData = objXmlHttp.respo**seBody
Dim objAdoStream
set objAdoStream = Server.createObject("ADODB.Stream")
objAdoStream.Type = 1
objAdoStream.Ope**()
objAdoStream.Write(bi**FileData)
objAdoStream.SaveToFile FilePath,2
objAdoStream.Close()

Next
Html_Temp = Html_Temp&"<UL>"
%>

<%
Respo**se.Write ( "成功生成文件:" )
Respo**se.Write ( "<BR>" )
Respo**se.Write Html_Temp
%>

目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了。^_^
**于代码比较短,这里就不进行注释了
<%
'当目标页面的包含文件即#i**clude的页面里边存在respo**se.E**d()的时候本程序有问题
'注意:本文件一定要放在file**ame指向的文件的同一目录下
dim hughchiu_rtcode
Fu**ctio** get_exe_code(file**ame)
dim execode
dim tmp_str
Dim re,re1,co**te**t,fso,f,aspStart,aspE**d
dim ms,m
execode = ""
set fso=CreateObject("Scripti**g.FileSystemObject")
set f=fso.Ope**TextFile(server.mappath(file**ame))
co**te**t=f.ReadAll
f.close
set f=**othi**g
set fso=**othi**g
set re = **ew regexp
re.ig**orecase = true
re.global = true
re.patter** = "\<\%\@[^\%]+\%\>"
co**te**t = re.replace(co**te**t,"")
re.global = false
re.patter** = "\<\!\-\-\s*\#i**clude\s*file\s*=\s*\""([^\""]+)\""\s*\-\-\>"
do
set ms = re.execute(co**te**t)
if ms.cou**t<>0 the**
set m = ms(0)
tmp_str = get_exe_code(m.submatches(0))
co**te**t = re.replace(co**te**t, tmp_str)
else
exit do
e**d if
loop
set m = **othi**g
set ms = **othi**g
re.patter**="^\s*="
aspE**d=1
aspStart=i**Str(aspE**d,co**te**t,"<%")+2
set re1=**ew RegExp
re1.ig**orecase = true
re1.global = false
re1.patter** = "respo**se\.Write(.+)"
do while aspStart>aspE**d+1
execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( replace(Mid(co**te**t,aspE**d,aspStart-aspE**d-2),"""",""""""), vbcrlf, """&vbcrlf&""")&""""&vbcrlf
aspE**d=i**Str(aspStart,co**te**t,"%\>")+2
tmp_str = Mid(co**te**t,aspStart,aspE**d-aspStart-2)
do
set ms = re1.execute(tmp_str)
if ms.cou**t<>0 the**
set m = ms(0)
tmp_str = re1.replace(tmp_str, " hughchiu_rtcode = hughchiu_rtcode&"&m.submatches(0))
else
exit do
e**d if
loop
set m = **othi**g
set ms = **othi**g
execode = execode& re.replace(tmp_str,"hughchiu_rtcode = hughchiu_rtcode&")
aspStart=i**Str(aspE**d,co**te**t,"<%")+2
loop
set re1 = **othi**g
set re=**othi**g
execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( replace(Mid(co**te**t,aspE**d), """", """"""), vbcrlf, """&vbcrlf&""" )&""""&vbcrlfget_exe_code = "
使用范例:
set fso=CreateObject("Scripti**g.FileSystemObject")
set f=fso.CreateTextFile( server.mappath( "youpage.htm" ), true )
f.WriteLi**e( asp2html("youpage.asp") )
f.close
set f = **othi**g
set fso = **othi**g


希望这个函数对大家有点用,**于水平有限,有错的地方请大家指出,并希望能加以改进。

本文标签:把本文收藏到 网摘 博采 百度
上一篇:ASP、JSP、PHP 三种技术比较          回网页设计列表         下一篇:PHP对比ASP
搜索本站其他内容: 百度一下:[用ASP生成html]   Google搜索:[用ASP生成html]
最新网友评论文章↓
1.靠2009-11-19 20:42:45
2.去2009-11-19 20:39:41
3.脑残还是变相炫富?2009-11-16 20:17:58
4.好感动哦2009-11-7 15:40:32
5.怎么学习2009-10-20 10:54:50

文章添加时间:2008-6-19,文件大小:20.2 KB,最近更新时间:2011-12-16 18:05:00 返回TOP↑            

本站文章搜集自网络;共享网络,共享快乐,我为人人,人人为我;如果您知道本站未知来源文章请告知本站谢谢!
文中及留言观点不代表本站;本站转载内容只是为了更好的交流;
若侵犯了您的版权请联系E-mail:有事儿,您Q我!,本站核实后立即处理!

  •             平面设计| 标志设计| 包装设计| 网页设计| 广告设计| VI设计| 画册设计| 专卖店设计| 展位设计| 名片设计| 网站地图|    建议使用IE5及以上1024*768分辨率
  •             友情链接 版权所有 © 杭州威迪广告公司 2008-2010 | TEL:0571-88385993 13296756810 浙ICP备09011107号