推荐:浅析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 %> |
使用范例:
| 以下为引用的内容: f.WriteLine( asp2html(youpage.asp) ) f.close set f = nothing set fso = nothing |
分享:通过启动脚本感知ASP的力量和大多数的语言脚本一样,学习ASP最好的方法就是亲身尝试ASP,使用你自己的系统安装PWS或者IIS。你可以边学习边在你自己的服务器上测试ASP组件和函数。为了方便学习,我们已经编译了一些操