用ASP实现长文章用分页符来分页显示

长文章页用分页符来显示,想用ASP也实现这种功能,可发现只有根据字数进行分页的方法,但这种方法有一个BUG,就是如果你文章内容中如果有UBB代码,它很容易造成在之间进行分页,或者干脆就把[code]分解成了[co和de],这样文章显示就会出现错误。
    以下几个步骤将能够完全实现。

    第一步:

    按照正常的文章系统一路做下去,后台的文章添加,文章的检索,和文章的详细页,都是常规方式操作,这里不加描述,请参阅相关帖子。只是在文章添加时,在你想让它分页的地方加上分页符:“|||”(当然这个符号你可以随便用,比如:[page]、&&&、###、@@@……,只要它不会在文章要正常显示的地方出现就行了。)

    我用了四个页面,输入页(index.asp)、输入完成页(add.asp)、文章列表页(view.asp)、文章内容页(display.asp),前三个都是不用处理的页面,看下面的图片我想一般的小鸟就会做了,关键是最后一个displasy.asp,所有实现分页的代码都在这里。

    第二步:

    在文章正文内容的动态数据部分做一些手脚,下面是代码和解释:

  <%
'这里要处理接收到的分页参数,以此来进行显示第几页的内容
'下面这两句就是如果没有page这个参数传来就让变量pageNum取显示第一页的值:0
If Request("page")="" Then
pageNum=0
'否则就给变量赋值为传递来的page里的参数,来显示其他页
Else
pageNum=Request("page")
End if
%>
<%
'如果加了可选执行UBB代码,可以加上下面的代码
'rs("NoUBB")是数据库里关于禁用UBB的字段,0为禁用,1为执行
If rs("NoUBB")=0 then
'为避免和文章内容相连出现错误,用Replace函数把分页代码“|||”的前后各加一个全角的
'rs("content")是数据库里正文的字段,在这里加上UBB或者禁用UBB
Content=Replace((unHTML(rs("content"))),"|||"," ||| ")
Elseif rs("NoUBB")=1 then
Content=Replace((ubb(rs("content"))),"|||"," ||| ")
End if
%>
<%
'这里就是关键了
'我们用split函数将文章分段取出存入变量content
ContentStr=split(Content,"|||")
'按照刚才从URL参数中取得的要显示那面的那个变量,就循环显示一页
For i=pageNum to pageNum
%>
<!--这里将是文章正文内容-->
<%=ContentStr %>
<% Next %>

     </td>
   </tr>
   <tr>
      <td height="30" class="ClassName">本文共分
<%
'分页的地方,用ubound(ContentStr)取得文章一共分为几页,注意这里是从0开始,所以总页数需要加1
For p = 0 to ubound(ContentStr)

'链接还是本页面,只不过文章ID参数后面还要加上一个分页的参数:page
%>
<a href="display.asp?ID=<%=rsquest("ID")%>&page=<%=p%>" class=""><%=p+1%></a>
<% Next %>页
 

 
    很简单吧,要是把注释都删除,才15行代码,不过还要加工一下,让它能有上一页、下一页和当前页突出的功能就完善了。
   
    已测试过,除非文章里出现那个分页符,否则各种类型都不会出错,当然可以把|||的数量加大比如:||||||,再六个“|”以下在文章出现都没事,但六个以上就会分页了,选择一个好的分页符就可以了

时间: 2024-10-29 14:40:03

用ASP实现长文章用分页符来分页显示的相关文章

长文章用分页符来分页显示(ASP实现)

长文章页用分页符来显示,想用ASP也实现这种功能,可发现只有根据字数进行分页的方法,但这种方法有一个BUG,就是如果你文章内容中如果有UBB代码,它很容易造成在[code][/code]之间进行分页,或者 干脆就把[code]分解成了[co和de],这样文章显示就会出现错误. 以下几个步骤将能够完全实现. 第一步: 按照正常的文章系统一路做下去,后台的文章添加,文章的检索,和文章的详细页,都是常规方式操 作,这里不加描述,请参阅相关帖子.只是在文章添加时,在你想让它分页的地方加上分页符:"&qu

asp长文章用分页符来分页显示_应用技巧

复制代码 代码如下: '这里是处理分页的代码 '考滤保险起见,我们用replace函数在分页代码前后各加一个全角空格 MMText=replace(rs("contents"),"[ page ]"," [ page ] ") MMfText=split(MMText,"[ page ]") '用ubound函数取得要分的页数,注意下标值是从0开始的 contentNum=ubound(MMfText) page=Clng(r

asp长文章用分页符来分页显示

需要注意的是 [ page ]需要删除中间的空格,因为与脚本之家的后台分页重复,所以加了空格处理. 只是在文章添加时,在你想让它分页的地方加上分页符:"[ page ]"(当然这个符号你可以随便用,比如:[ page ].&&&.###.@@@--,只要它不会在文章要正常显示的地方出现就行了.) 我用了四个页面,输入页(index.asp).输入完成页(add.asp).文章列表页(view.asp).文章内容页(text.asp),前三个都是不用处理的页面,看

ASP实现长文章手动分页的代码

  <% set recordset1=server.createobject("adodb.recordset") exec="SELECT * FROM news  where id="&id recordset1.Open exec,conn,1,1 %>  <table width="85%" border="0" align="center" cellpadding=&q

ASP实现长文章分页_应用技巧

<%  '处理接收分页得参数,显示页数 也就默认第一页  'page这个参数就是让变量pagenum去显示第一也得值:0  if Request("page")="" then  pageNum=0  '下面就是page接参数  else  pageNum=Request("page") if not isnumeric(pageNum) then Call DH.Alert("操作错误!","-1"

ASP实现长文章分页

<%  '处理接收分页得参数,显示页数 也就默认第一页  'page这个参数就是让变量pagenum去显示第一也得值:0  if Request("page")="" then  pageNum=0  '下面就是page接参数  else  pageNum=Request("page") if not isnumeric(pageNum) then Call DH.Alert("操作错误!","-1"

asp.net 长文章通过设定的行数分页_实用技巧

复制代码 代码如下: public string OutputByLine(string strContent)//通过设定的行数分页 { int pageSize = int.Parse(ConfigurationManager.AppSettings["pageSize"]);//每页显示行数从CONFIG文件中取出 string lineBreak = ConfigurationManager.AppSettings["lineBreak"];//换行符从CO

实例:ASP实现长文章自动分页的函数代码

分页|函数 Function c2u(myText) Dim i c2u = "" For i = 1 to Len(myText) c2u = c2u & "" & Hex(AscW(Mid(myText, i, 1))) & ";" Next End Function Function cutStr(str,strlen) '去掉所有HTML标记 Dim re Set re=new RegExp re.IgnoreCa

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

当文章内容比较长,为了更好的满足用户体验度,我们将文章内容分页显示处理,而一般分页处理是在后台发布文章的时候就将提交的内容生成多个分页后的静态文件.通过本文结合实例采用php动态将长文章内容进行分页处理. 查看效果演示     源码下载 如何分页 手动分页:一般在编辑内容时加入特殊分页标记,如{pages},提交后,PHP程序会根据分页符处理分页,生成不同的静态页面.这种分页方法分页准确,但是需要人工手动添加分页符,工作量大. 自动分页:PHP程序会根据设置好的分页符将内容进行分页,然后生成不同