這篇文章主要介紹了ASP生成HTML靜態(tài)頁面及分頁如何實(shí)現(xiàn)的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇ASP生成HTML靜態(tài)頁面及分頁如何實(shí)現(xiàn)文章都會(huì)有所收獲,下面我們一起來看看吧。
成都創(chuàng)新互聯(lián)堅(jiān)實(shí)的技術(shù)研發(fā)基礎(chǔ)贏得了行業(yè)內(nèi)的良好口碑,公司成立十多年來,為成百上千家企業(yè)提供過網(wǎng)站建設(shè)、軟件開發(fā)、搜索引擎優(yōu)化技術(shù)、互聯(lián)網(wǎng)大數(shù)據(jù)整合營銷服務(wù),多年的技術(shù)服務(wù)成功經(jīng)驗(yàn)、眾多的客戶使我們能懂得更多,做得更好。"讓您的網(wǎng)站跑起來"是我們一直追求的目標(biāo)!
相關(guān)變量參數(shù): strDir 用于保存.html文件的文件夾路徑 htmlwrite FSO對(duì)象,用于生成.html文件 arrcontent 按分頁標(biāo)簽分割的文章內(nèi)容數(shù)組 InnerPageNum 統(tǒng)計(jì)內(nèi)容的頁數(shù) rollnum 當(dāng)前第(rollnum+1)頁 pagelist 分頁頁碼 strTemplate 存放模板內(nèi)容 strTe
1、相關(guān)變量參數(shù):
strDir 用于保存.html文件的文件夾路徑
htmlwrite FSO對(duì)象,用于生成.html文件
arrcontent 按分頁標(biāo)簽分割的文章內(nèi)容數(shù)組
InnerPageNum 統(tǒng)計(jì)內(nèi)容的頁數(shù)
rollnum 當(dāng)前第(rollnum+1)頁
pagelist 分頁頁碼
strTemplate 存放模板內(nèi)容
strTemp 模板內(nèi)容備份
$page_break$ 內(nèi)容分頁標(biāo)簽
2、核心代碼
'========生成內(nèi)容靜態(tài)頁======
on Error resume next
Set fso = Server.CreateObject("Scripting.FileSystemObject")
'=====用于保存靜態(tài)文件的文件夾路徑名稱,這里我按自己的項(xiàng)目設(shè)定了====
strDir=SITEROOT&"/"&NewsHtmlFile&"/"&year(now)&"-"&month(now)
'======生成靜態(tài)文件保存文件夾=====
if not fso.folderexists(Server.MapPath(strDir)) then fso.CreateFolder(Server.MapPath(strDir))
set fso=Nothing
if Err=0 then
Dim fso,htmlwrite ,arrcontent,InnerPageNum,rollnum,pagelist,strTemplate,strTemp
'===讀取模板文件,我前面的文章關(guān)于ASP生成靜態(tài)的,有這個(gè)數(shù)據(jù)表的內(nèi)容===
sql="SELECT tp_content FROM [KrTemplate] WHERE tp_default=1 AND tp_type='新聞內(nèi)容頁模板'"
Set rs=Conn.Execute(sql)
if not rs.eof then
strTemplate=rs(0)
end if
rs.close
'======備份模板文件,避免模板文件被改寫=====
strTemp=strTemplate
'======文章數(shù)據(jù)表=====
sql="SELECT * FROM [KrNews] WHERE news_html=0 ORDER BY news_date DESC"
Set rs=Conn.Execute(sql)
'======循環(huán)讀取所有要生成的文章信息======
do while not rs.eof
news_keywords=rs("news_keywords")
news_content=rs("news_content")
news_tips=rs("news_tips")
news_name=rs("news_name")
news_from=rs("news_from")
news_date=rs("news_date")
news_id=rs("news_id")
'====匹配文章內(nèi)容,如果出現(xiàn)分頁標(biāo)簽,則按如下處理,否則按普通生成方法處理===
if Instr(news_content,"$page_break$") then
'===如果文章URL要存入數(shù)據(jù)庫,那么這里存入的地址就為文章分頁后的第一頁的路徑,
'===即為下面的URL地址加上第一頁的標(biāo)志,我這里存入數(shù)據(jù)庫的地址是這樣的
' ===URL=URL&"_1.html"
URL=SITEURL&strDir&"/news_"&news_id&""
'======對(duì)分頁信息的預(yù)處理=======
'=====將按分頁標(biāo)簽分割的文章內(nèi)容存入數(shù)組arrcontent=====
arrcontent=split(news_content,"$page_break$")
'=====得到文章分割后所得的頁數(shù)=====
InnerPageNum=ubound(arrcontent)
pagelist=" "
'=====循環(huán)得到頁碼======
for rollnum=0 to InnerPageNum
pagelist=pagelist & "["&(rollnum+1)&"] "
next
for rollnum=0 to InnerPageNum
'======還原被改寫的模板,這里不注意會(huì)生成相同的文件======
strTemplate=strTemp
strTemplate=Replace(strTemplate,"$keywords$",news_keywords)
strTemplate=Replace(strTemplate,"$news_tips$",news_tips)
………… '略,其他一樣寫法
'===替換文章內(nèi)容,并添加分頁頁碼====
strTemplate=Replace(strTemplate,"$news_content$",arrcontent(rollnum)&"
分頁:"&pagelist&"
")
'====要生成的HTML頁面路徑及名稱======
Address=strDir&"/news_"&news_id&"_"&(rollnum+1)&".html"
'======調(diào)用adodb.stream方法生成靜態(tài)頁面,此為自定義方法,附在文章后面===
WriteToTextFile Address,strTemplate
'======(可選擇)FSO方法生成靜態(tài)頁面
' Set fso = Server.CreateObject("Scripting.FileSystemObject")
' Set htmlwrite=fso.CreateTextFile(Server.MapPath(Address),true) '// 創(chuàng)建要生成的靜態(tài)頁
' htmlwrite.WriteLine strTemplate '// 寫入網(wǎng)頁內(nèi)容
' htmlwrite.close
' set htmlwrite=Nothing
' set fso=Nothing
next
else
strTemplate=Replace(strTemplate,"$keywords$",news_keywords)
strTemplate=Replace(strTemplate,"$news_tips$",news_tips)
strTemplate=Replace(strTemplate,"$sitename$",SITENAME)
…………
strTemplate=Replace(strTemplate,"$news_content$",news_content)
Address=strDir&"/news_"&rs("news_id")&".html"
WriteToTextFile Address,strTemplate
end if
rs.movenext
loop
rs.close
end if
'=======ADODB.Stream生成文件函數(shù)=========
Sub WriteToTextFile (FileUrl,byval Str)
set stm=server.CreateObject("adodb.stream")
stm.Type=2 '以本模式讀取
stm.mode=3
stm.charset="GB2312"
stm.open
stm.WriteText str
stm.SaveToFile server.MapPath(FileUrl),2
stm.flush
stm.Close
str=""
set stm=nothing
End Sub
關(guān)于“ASP生成HTML靜態(tài)頁面及分頁如何實(shí)現(xiàn)”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“ASP生成HTML靜態(tài)頁面及分頁如何實(shí)現(xiàn)”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁標(biāo)題:ASP生成HTML靜態(tài)頁面及分頁如何實(shí)現(xiàn)
標(biāo)題URL:http://jinyejixie.com/article22/gggccc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站營銷、網(wǎng)站策劃、App開發(fā)、用戶體驗(yàn)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)