一聚教程网:一个值得你收藏的教程网站

热门教程

对一篇很长的文章做到完美的分页输出

时间:2022-06-30 11:55:10 编辑:袖梨 来源:一聚教程网

利用统计文章字数,然后达到一定字数就截断输出,但是分页的内容就会在莫名其妙的地方截断,不是很友好。
很简单,在要截断的地方附近找下面的符号:
;’”?。!;'".!
如果后面存在


就分页。主要是要研究文章的格式。
<%
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))
wend
if PageArray(I) > 0 then
Response.Write "0:I| "&PageArray(I)&"
"&j&":j"&Seperator(j)&"
"
j = j + ubound(Seperator) + 1
end if
next
for 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)&"
"&j&":j"&Seperator(j)&"
"
j = j + ubound(Seperator) + 1
end if
next
next
output = mid(content,1,PageArray(0))
output = replace(output,chr(13),"
")
Response.Write "

第1段
"
Response.Write output
for I=1 to PageCount-2
output = mid(content,PageArray(I-1)+1,PageArray(I)-PageArray(I-1))
output = replace(output,chr(13),"
")

热门栏目