ASP生成静态页面

本文介绍了一个用于将ASP动态页面转换为HTML静态文件的方法。该方法通过一系列自定义函数处理日期格式、文本清理及HTML转义等,最终生成带有当前时间戳的HTML文件,并保存在指定目录下。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%
'==============================================
'
FileName: asptohtml.asp
'
Author: Ustonet [AT] Gmail.com
'
Function: 动态页面生成HTML静态文件,文件自动命名
'
Update: 2006.12.14
'
==============================================

'转换日期时间函数
function chan_time(shijian)
    s_year
=year(shijian)
    
if len(s_year)=2 then s_year="20"&s_year
    s_month
=month(shijian)
    
if s_month<10 then s_month="0"&s_month
    s_day
=day(shijian)
    
if s_day<10 then s_day="0"&s_day
    s_hour
=hour(shijian)
    
if s_hour<10 then s_hour="0"&s_hour
    s_minute
=minute(shijian)
    
if s_minute<10 then s_minute="0"&s_minute
    chan_time
=s_year & s_month & s_day & s_hour & s_minute
end function

'转换日期时间函数
function chan_data(shijian)
    s_year
=year(shijian)
    
if len(s_year)=2 then s_year="20"&s_year
    s_month
=month(shijian)
    
if s_month<10 then s_month="0"&s_month
    s_day
=day(shijian)
    
if s_day<10 then s_day="0"&s_day
    chan_data
=s_year & s_month & s_day
end function 

'转换日期时间函数
function chan_file(shijian)
    s_month
=month(shijian)
    
if s_month<10 then s_month="0"&s_month
    s_day
=day(shijian)
    
if s_day<10 then s_day="0"&s_day
    s_hour
=hour(shijian)
    
if s_hour<10 then s_hour="0"&s_hour
    s_minute
=minute(shijian)
    
if s_minute<10 then s_minute="0"&s_minute
    s_ss
=second(shijian)
    
if s_ss<10 then s_ss="0"&s_ss
    chan_file 
= s_month & s_day & s_hour & s_minute & s_ss
end function

function get_pass(pass)
    pass
=cstr(pass)
    pass
=replace(pass," ","")
    pass
=replace(pass," ","")
    pass
=replace(pass,"-","")
    pass
=replace(pass," ","")
    pass
=replace(pass,":","")
    pass
=replace(pass,".","")
    pass
=replace(pass,"+","")
    pass
=replace(pass,"_","")
    pass
=replace(pass,"<","")
    pass
=replace(pass,">","")
    pass
=replace(pass,"!","")
    pass
=replace(pass,"@","")
    pass
=replace(pass,"#","")
    pass
=replace(pass,"$","")
    pass
=replace(pass,"%","")
    pass
=replace(pass,"^","")
    pass
=replace(pass,"&","")
    pass
=replace(pass,"*","")
    pass
=replace(pass,"(","")
    pass
=replace(pass,")","")
    pass
=replace(pass,"=","")
    pass
=replace(pass,"","")
    pass
=replace(pass,"/","")
    pass
=replace(pass,"|","")
    get_pass
=pass
end function

Public function htmlcode(content)
if content<>"" then
        content
=replace(content,"&amp;","&")
        content
=replace(content,"&lt;","<")
        content
=replace(content,"&gt;",">")
        content
=replace(content,"&quot;","'")
        content
=replace(content,"  ","&nbsp;&nbsp;")
        content
=replace(content,"&lt;P&gt;","<br>")
        content
=replace(content,"&lt;/P&gt;","")
    
end if
    htmlcode
=content
End Function

'Sub asptohtml(News_Title,News_Date,News_Hits,News_From,News_Content)
Public Function asptohtml(News_Title,News_Date,News_Hits,News_From,News_Content)
    
'// 创建文件系统对象 
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
    
'// 打开网页模板文件,读取模板内容 
    Set htmlwrite=fso.OpenTextFile(Server.MapPath("temp.html")) 
    msg
=htmlwrite.ReadAll 
    htmlwrite.close

    msg
=Replace(msg,"$News_Title$",News_Title)
    msg
=Replace(msg,"$News_Date$",News_Date)
    msg
=Replace(msg,"$News_Hits$",News_Hits)
    msg
=Replace(msg,"$News_From$",News_From)
    msg
=Replace(msg,"$News_Content$",htmlcode(News_Content))
    
    
Set fs=Server.CreateObject("Scripting.FileSystemObject")
    all_tree2
=server.mappath("int")&""&chan_data(now)
    
if (fs.FolderExists(all_tree2)) then'判断今天的文件夹是否存在
    
    
else
        fs.CreateFolder(all_tree2)
    
end if   
    pass
=chan_file(now)
    
randomize  '使用系统计时器来初始化乱数产生器
    pass=rnd(pass)
    pass
=get_pass(pass)
    pass
=left(pass,10
    
    file1
=pass
    files
=file1&".txt"
    filez
=all_tree2&""&files 
    
    
set ts = fs.createtextfile(filez,true'写文件
    for z=1 to len(msg)
        write_now
=mid(msg,z,1)
        ts.write(write_now)
    
next
    
' ts.writeline(all_msg)
    ts.close
    
set ts=nothing    '文件生成
    
    
if err.number<>0 or err then
        
'response.Write("发生错误。")
    else
        
'response.Write("HTML文件生成完成。")
    end if
    
    
Set MyFile = fs.GetFile(filez) 
    all_tree2
=server.mappath("int")&""&chan_data(now)
    
if (fs.FolderExists(all_tree2)) then
    
else
        fs.CreateFolder(all_tree2)
    
end if
    
    MyFile.name
= left(MyFile.name,len(MyFile.name)-4)&".html"
    
'//返回文件名
    asptohtml="int/"&chan_data(now)&"/"&MyFile.name
    
    
set MyFile=nothing 
    
set fs=nothing
    
set fdir=nothing
    
'// 释放文件系统对象 
    set htmlwrite=Nothing 
    
set fso=Nothing 
End Function
%
>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值