`
xcgh
  • 浏览: 75773 次
  • 来自: ...
社区版块
存档分类
最新评论

长文章自动分页类

    博客分类:
  • asp
ASP 
阅读更多

Class AutoPaging
'*************************************************************
'目   的:自动将长文章分页输出
'属   性:Splitchar:分页搜索标志。以一维数组方式输入,默认array("<br/>","<BR>","<Br>","<bR>")
'      PagingString:要进行分页的字符串
'      PagingSize:分页长度
'      CurrentPage:当前输出页码
'      DefaultRange:默认搜索分页标志范围
'      StepRange:搜索步长
'方   法:getTotalPageCount():返回总分页数
'      OutputString:输出当前分页内容
'*************************************************************
public Splitchar'分页搜索标志,数组
public PagingString'分页字符串
public PagingSize'页面最大长度
public CurrentPage'当前页码
public DefaultRange'默认起始范围
public StepRange'步长
private Truncate'2维数组m,n。m0=页码、m1=起始字符、m2=结束字符,n=总页数
private intStart'开始位置
private intLen'截取长度
private tmpStr
private Range'起始范围

private Sub Class_Initialize()
  Splitchar=array("<br/>","<BR>","<Br>","<bR>")
  PagingSize = 2000
  DefaultRange=1
  StepRange = 1
  intStart = 0
  intEnd = 0
End Sub

public Function getTotalPageCount()'返回总页数
  if len(PagingString) mod PagingSize > 0 then
    getTotalPageCount = int(len(PagingString) / PagingSize) + 1
  else
    getTotalPageCount = len(PagingString) / PagingSize
  end if
End Function

public Sub OutputString
  redim Truncate(2,getTotalPageCount())

  For tmpI = 0 to getTotalPageCount()
    Truncate(0,tmpI)=tmpI
  Next

  For tmpI = 1 to ubound(Truncate,2)
    if Truncate(0,tmpI) = 1 then
      Truncate(1,tmpI) = 1
    else
      Truncate(1,tmpI)=Truncate(1,tmpI - 1) + Truncate(2,tmpI - 1)
    end if
    Range = DefaultRange
    Do while Range < PagingSize
      tmpStr=right(mid(PagingString,Truncate(1,tmpI),PagingSize),Range)
      For tmpInt=0 to ubound(Splitchar)
        if instr(1,tmpStr,Splitchar(tmpInt)) > 0 then
          Truncate(2,tmpI) = (PagingSize - (len(tmpStr) - instr(1,tmpStr,Splitchar(tmpInt)))) - 1
          exit do
        end if
      Next
      Range = Range + StepRange
    Loop
    if tmpI = Cint(CurrentPage) then
      intStart = Truncate(1,tmpI)
      intLen = Truncate(2,tmpI)
    end if
  next
  if Cint(CurrentPage) = getTotalPageCount() then
    response.write(mid(PagingString,intStart))'如果当前分页为最后一页,则取剩下的所有字符
  else
    response.write(mid(PagingString,intStart,intLen))
  end if
End Sub
End Class

调用示例

set paging=new autopaging
with paging
  .pagingstring=Content  '此为从数据库取得数据
  .pagingsize=2000
  .splitchar=array("<br/>","<BR>","<Br>","<bR>","<p>","<P>")
end with
TotalPage = paging.gettotalpagecount()
Page=request("page")
if Page="" or Cint(Page)<1 then
  Page=1
else
  if Cint(Page) > TotalPage then
    Page = TotalPage
  else
    if CheckValid(Page)=false or not isnumeric(Page) then
      response.write("页码参数非法,请返回!")
      response.end
    end if
  end if
end if
paging.currentpage=Page
paging.outputstring
set paging=nothing
分页页码部分:
<%
if TotalPage > 1 then
  For i=1 to TotalPage
    if i = Cint(Page) then
      response.write("<b>" & i & "</b> ")
    else
      response.write("<a href=readnews.asp?newsid=" & NewsID & "&bigclassid=" & BigClassID & "&smallclassid=" & SmallClassid & "&specialid=" & SpecialID & "&page=" & i & ">[" & i & "]</a> ")
    end if
  Next
end if
%>

应用示例
http://www.chceg.com/readnews.asp?newsid=227&bigclassid=9&smallclassid=36&specialid=5

缺陷,输出内容中不可包含table标签。

分享到:
评论

相关推荐

    网页超长文章自动分页

    超长文章自动分页超长文章自动分页超长文章自动分页超长文章自动分页超长文章自动分页超长文章自动分页超长文章自动分页超长文章自动分页超长文章自动分页超长文章自动分页超长文章自动分页超长文章自动分页超长文章...

    纯JS长文章分页代码

    纯JS长文章分页代码纯JS长文章分页代码纯JS长文章分页代码纯JS长文章分页代码纯JS长文章分页代码纯JS长文章分页代码纯JS长文章分页代码

    文章内容过长自动分页代码

    文章内容过长自动分页代码,提供分页代码。

    asp长文章内容自动分页

    现在制作的网站大多是企业网站,格式都差不多,有的网友在做网站时会遇到长篇文章分页的问题,这就教你如何分页

    asp.net中长内容自动分页的实现

    asp.net中新闻长内容自动分页的实现方法,参考下吧

    完美php文章分页类.zip

    介绍一个完美php文章分页类。 __construct是SubPages的构造函数,用来在创建类的时候自动运行.  $each_disNums 每页显示的条目数 nums 总条目数  current_num 当前被选中的页 ...

    图片过长分页

    总监看到发布的文章过长导致版式也太长不好看,要求后台发布文章可控制分页。便做了一个由tinyMCE编辑器控制的分页。只要插入分页符即按分页符对文章分页,否则默认按字长(2000)分页。附上jsp中用到的代码,以及...

    ASP长文章分页功能实现方法 手动 自动两种

    ASP长文章分页功能实现方法 手动 自动两种分页方式

    长篇文章内容分页,多种样式分页

    长篇文章内容手动分页,此分页类克服了按字数自动分页导致文章段落截断以及文章图片显示不全缺点,也是简单易用的分页类,支持自定义多种样式分页

    ASP长文章分页代码

    实现长文章的自动分页,可按照字节和行数来分页……

    [JS源码]超长文章自动分页(客户端版)

    代码如下:&lt;!... &lt;HEAD&gt; &lt;TITLE&gt; New Document &lt;/TITLE&gt;...META NAME=”Generator” CONTENT=”EditPlus”&gt;...META NAME=”Author” CONTENT=””&gt;...META NAME=”Keywords” CONTENT=””...

    新云4.0sp2采集图片自动加水印自动分页插件

    3,采集后文章自动设置为 自动分页 (新云默认为手动分页); 使用方法: 1,你的虚拟主机空间支持ASPJPEG,否则是不能添加水印. 2,将文件界压缩后 把admin_savedata.asp 替换原新云4.0sp2程序文件夹下 admin/article...

    asp.net(C#)如何给长文章分页

    asp.net(C#)如何给长文章分页?这里给出一个CS文件,文章内容需要分布的地方插入分页符,就能自动分页了。

    net中文章按内容长度分页

    net中文章按内容长度分页,自动识别段落不会影响原来文章排版。

    PHP实现长文章分页实例代码(附源码)

    当文章内容比较长,为了更好的满足用户体验度,我们将...自动分页:PHP程序会根据设置好的分页符将内容进行分页,然后生成不同的静态页面。该方法效率高,对处理不同的html代码标签要求高。 前端JS分页:使用Javascr

    带html的文章摘要生成,内容分割 类

    很多的文章发布系统,信息管理系统,新闻发布系统中的文章内容可能会比较长,用户可能会有两个需求,一个是自动生成文章的摘要,比如新浪的文章上面都会有一个摘要说明;另一个需求就是文章太长,可以把文章分页显示...

    5U网络文章管理系统(5UCMS) 3.2012.0625 UTF-8.rar

    新增栏目大类分页标签属性 升级说明:替换inc/class_template.asp 标签说明:新增$cid属性 使用说明: &lt;!--page:{$size=5 $cid=1,2,3}--&gt;&lt;!--page--&gt;调用指定栏目ID编号为1、2、3的文章列表 &lt;!-...

    ThinkPHP实现分页功能

    前几篇(上传,缩略图,验证码,自动验证表单)文章介绍的功能实现都是基于ThinkPHP框架封装好的类进行实现的,所以这次自己写一个分页类在框架中使用。 首先在根目录建一个Tools文件夹,在Tools文件夹下建Page....

Global site tag (gtag.js) - Google Analytics