ASP新闻分页,将一篇过长的文章分页,生成静态页面

来源:asp之家 时间:2011-04-10 11:14:00 

上次还是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&brvbar; "&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&brvbar; "&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 则分成第一页
删除此硬回车前的部分 重复上述操作。

标签:ASP,新闻分页,文章分页,生成静态
0
投稿

猜你喜欢

  • 请正确认识MySQL对服务器端光标的限制

    2008-12-17 14:58:00
  • MYSQL数据库表设计与优化(一)

    2010-10-25 19:50:00
  • MySQL数据库的其它安全问题

    2008-12-23 15:40:00
  • 语义、标准和样式

    2008-06-05 12:52:00
  • ASP UTF-8编码下字符串截取和获取长度函数

    2011-03-30 10:52:00
  • pjblog3相关日志功能(支持生成静态模式)

    2008-11-20 13:41:00
  • 用好Frontpage中的各种回车

    2008-02-21 14:33:00
  • Oracle学习笔记(五)

    2012-01-05 18:52:30
  • 艺术和设计之间的差别

    2010-11-17 19:28:00
  • sqlserver 修改列名及表名的sql语句

    2012-07-11 15:58:46
  • mysql 存储过程 使用小结

    2010-10-25 20:02:00
  • css模拟title和alt的提示效果

    2007-11-08 13:03:00
  • 实例讲解在MySQL中如何导出整个数据库

    2009-09-01 10:03:00
  • JS+ASP实现无刷新新闻列表方法

    2007-08-22 12:44:00
  • Select 控件Combox加强版(IE Only)

    2008-07-23 13:26:00
  • 如何实现表单提交时提示正在发送

    2008-12-23 13:30:00
  • 对fieldset和legend的默认样式一点分析

    2008-07-02 12:56:00
  • PHP文件上传功能实现逻辑分析

    2023-05-25 02:28:30
  • CSS在Internet Explorer 6, 7 和8中的差别

    2009-10-26 18:14:00
  • asp 关键词高亮显示(不区分大小写)

    2011-04-07 10:55:00
  • asp之家 网络编程 m.aspxhome.com