文章探索:   分类:    关键字:  
  + 栏目导航
  + 相关文章
asp中有关字符编码转换的几个函数
绝妙的asp生成静态页面html函数
Asp计算页面执行时间
一个简单的用存储过程分页
将asp页面转换成htm页面
ASP网站漏洞解析及黑客入侵防范方法
URL编码与SQL注入
几种常用排序算法(asp)
ASP调用带参数存储过程的几种方式
实用的ASP连接数据库的函数
ASP如何获取真实IP地址
ASP中怎么实现SQL数据库备份、恢复
判断Cookies是否处于开启状态
怎样才能将服务器端文件夹下的文件,..
几行Asp代码实现防止表单重复提交
用ASP设计网站在线人数统计程序
asp论坛在线人数统计研究
如何用ASP远程在数据库中创建Table
用ASP调用SQL Server的视图和存储过程
Asp与XML的关系
ASP读取EXCEL
在ASP中使用Oracle数据库技巧
一个通过web.Mail发送邮件的类
几种打开记录集方式的比较
购物车范例(购物车页面 )
如何使用FSO搜索硬盘文件
GB码和BIG5码的互换技术
用ASP开发WEB日期选择器
一个投票系统的源程序(coveryourasp.c..
列出服务器上的打印机


技术教程 -> ASP教程 ->  
对一篇很长的文章做到完美的分页输出
来源:转载   人气:721   录入时间:2007-11-8
    利用统计文章字数,然后达到一定字数就截断输出,但是分页的内容就会在莫名其妙的地方截断,不是很友好。
   很简单,在要截断的地方附近找下面的符号:
   ;’”?。!;'".!
   如果后面存在<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))
   wend
   
   if PageArray(i) > 0 then
   Response.Write "0:i¦ "&PageArray(i)&"<br>"&j&":j"&Seperator(j)&"<br>"
   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)&"<br>"&j&":j"&Seperator(j)&"<br>"
   j = j + ubound(Seperator) + 1
   end if
   next
   next
   
   output = mid(content,1,PageArray(0))
   output = replace(output,chr(13),"<br>")
   Response.Write "<br><br>第1段<br>"
   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),"<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%>
   
   




Copyright(C)2007-2024 广州市佳沛数码科技有限公司 版权所有
公司地址: 广州市荔湾区东漖北路560号511室
电话:020-81803473 传真:020-81544987