|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般天生html|天生html今朝已有良多天生html的旧事体系,可是都是用的模板,本函数完成把asp页面发生的html代码保留成为一个html文件,如许就没有需要修改本来的页面就能够轻松完成一个天生html的旧事体系了。^_^
因为代码对照短,这里就不举行正文了
<%
当方针页面的包括文件即#include的页面里边存在response.End()的时分本程序有成绩
注重:本文件必定要放在filename指向的文件的统一目次下
dimhughchiu_rtcode
Functionget_exe_code(filename)
dimexecode
dimtmp_str
Dimre,re1,content,fso,f,aspStart,aspEnd
dimms,m
execode=""
setfso=CreateObject("Scripting.FileSystemObject")
setf=fso.OpenTextFile(server.mappath(filename))
content=f.ReadAll
f.close
setf=nothing
setfso=nothing
setre=newregexp
re.ignorecase=true
re.global=true
re.pattern="<\%@[^\%]+\%>"
content=re.replace(content,"")
re.global=false
re.pattern="<!--s*#includes*files*=s*""([^""]+)""s*-->"
do
setms=re.execute(content)
ifms.count0then
setm=ms(0)
tmp_str=get_exe_code(m.submatches(0))
content=re.replace(content,tmp_str)
else
exitdo
endif
loop
setm=nothing
setms=nothing
re.pattern="^s*="
aspEnd=1
aspStart=inStr(aspEnd,content,"<%")+2
setre1=newRegExp
re1.ignorecase=true
re1.global=false
re1.pattern="response.Write(.+)"
dowhileaspStart>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
setms=re1.execute(tmp_str)
ifms.count0then
setm=ms(0)
tmp_str=re1.replace(tmp_str,"hughchiu_rtcode=hughchiu_rtcode&"&m.submatches(0))
else
exitdo
endif
loop
setm=nothing
setms=nothing
execode=execode&re.replace(tmp_str,"hughchiu_rtcode=hughchiu_rtcode&")
aspStart=inStr(aspEnd,content,"<%")+2
loop
setre1=nothing
setre=nothing
execode=execode&vbcrlf&"hughchiu_rtcode=hughchiu_rtcode&"""&replace(replace(Mid(content,aspEnd),"""",""""""),vbcrlf,"""&vbcrlf&""")&""""&vbcrlf
get_exe_code="<%"&execode&"%>"
EndFunction
functionasp2html(filename)
dimcode
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
endfunction
%>
利用典范:
setfso=CreateObject("Scripting.FileSystemObject")
setf=fso.CreateTextFile(server.mappath("youpage.htm"),true)
f.WriteLine(asp2html("youpage.asp"))
f.close
setf=nothing
setfso=nothing
但愿这个函数对人人有点用,因为程度无限,有错的中央请人人指出,并但愿能加以改善。
</p>源代码保护方面其实现在考虑得没那么多了..NET也可以反编译.ASP写得复杂的话别人能看得懂的话.他也有能力自己写了.这方面担心的倒不太多.纵观现在网上可以下载的那些所谓BBS还有什么网站等等的源代码 |
|