欢迎光临
我们一直在努力

用ASP实现长文章用分页符来分页显示-ASP教程,ASP应用

建站超值云服务器,限时71元/月

长文章页用分页符来显示,想用asp也实现这种功能,可发现只有根据字数进行分页的方法,但这种方法有一个bug,就是如果你文章内容中如果有ubb代码,它很容易造成在[code][/code]之间进行分页,或者干脆就把[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行代码,不过还要加工一下,让它能有上一页、下一页和当前页突出的功能就完善了。
   
    已测试过,除非文章里出现那个分页符,否则各种类型都不会出错,当然可以把|||的数量加大比如:||||||,再六个“|”以下在文章出现都没事,但六个以上就会分页了,选择一个好的分页符就可以了

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用ASP实现长文章用分页符来分页显示-ASP教程,ASP应用
分享到: 更多 (0)