程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP新聞分頁,將一篇過長的文章分頁,生成靜態頁面

ASP新聞分頁,將一篇過長的文章分頁,生成靜態頁面

編輯:關於ASP編程
上次還是CSDN裡的朋友回答的,我復制了下來。原文如下
===========================
利用統計文章字數,然後達到一定字數就截斷輸出,但是分頁的內容就會在莫名其妙的地方截斷,不是很友好。
  很簡單,在要截斷的地方附近找下面的符號:
;'”?。!;'".!
  如果後面存在<p>或<br>就分頁。主要是要研究文章的格式。
<%
if Request.ServerVariables("Content_Length") > 0 then
content = Request.Form("textarea1")PageLength = 1000 '每頁字數
CLength = Len(content)
PageCount = Int(Clength/PageLength) + 1 '計算頁數dim PageArray
redim PageArray(PageCount)Seperator = Array(chr(13),chr(10),"。","!","?",";",",","”","'") '分隔符PageArray(0) = 0
Pos = 0
for j=0 to ubound(Seperator)
Pos = instr(PageArray(i)+900,content,Seperator(j)) 'PageArray(i)+900 附近位置是100字,1-999可調
while Pos > 0 and Pos < (i+1)*PageLength and Pos > i*PageLength
PageArray(i) = Pos
Pos = instr(Pos+PageLength,content,Seperator(j))
wendif PageArray(i) > 0 then
Response.Write "0:i¦ "&PageArray(i)&"<br>"&j&":j"&Seperator(j)&"<br>"
j = j + ubound(Seperator) + 1
end if
nextfor i=1 to PageCount-1
PageArray(i) = 0
Pos = 0
for j=0 to ubound(Seperator)
Pos = instr(PageArray(i-1)+950,content,Seperator(j))
while Pos > 0 and Pos < (i+1)*PageLength and Pos > i*PageLength
PageArray(i) = Pos
Pos = instr(Pos+PageLength,content,Seperator(j))
wend
if PageArray(i) > 0 then
Response.Write i&":i¦ "&PageArray(i)&"<br>"&j&":j"&Seperator(j)&"<br>"
j = j + ubound(Seperator) + 1
end if
next
nextoutput = mid(content,1,PageArray(0))
output = replace(output,chr(13),"<br>")
Response.Write "<br><br>第1段<br>"
Response.Write outputfor i=1 to PageCount-2
output = mid(content,PageArray(i-1)+1,PageArray(i)-PageArray(i-1))
output = replace(output,chr(13),"<br>")
Response.Write "<br><br>第"&i+1&"段<br>"
Response.Write output
next'最後一段的輸出就沒寫了else
%>
<FORM action="" method=POST id=form1 name=form1>
<TEXTAREA rows=70 cols=120 id=textarea1 name=textarea1>
</TEXTAREA>
<INPUT type="submit" value="Submit" id=submit1 name=submit1>
</FORM>
<%end if%>


---------------------------------------------------------------

定義有 每頁面長度 MaxLength
文本總長度 TotalLength
掃描文章中每一個段尾處的硬回車
並計算該處長度
一旦超過 MaxLength 則分成第一頁
刪除此硬回車前的部分 重復上述操作。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved