IT猫扑网文章教程

分类分类

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

2015-06-28 00:00作者:网管联盟

  Function c2u(myText)
  Dim i
  c2u = &&
  For i = 1 to Len(myText)
  c2u = c2u & &&#x& & Hex(AscW(Mid(myText, i, 1))) & &;&
  Next
  End Function

  Function cutStr(str,strlen)
  '去掉所有HTML标记
  Dim re
  Set re=new RegExp
  re.IgnoreCase =True
  re.Global=True
  re.Pattern=&<(.[^>]*)>&
  str=re.Replace(str,&&)
  set re=Nothing
  Dim l,t,c,i
  l=Len(str)
  t=0
  For i=1 to l
  c=Abs(Asc(Mid(str,i,1)))
  If c>255 Then
  t=t+2
  Else
  t=t+1
  End If
  If t>=strlen Then
  cutStr=left(str,i)&&...&
  Exit For
  Else
  cutStr=str
  End If
  Next
  cutStr=Replace(cutStr,chr(10),&&)
  cutStr=Replace(cutStr,chr(13),&&)
  End Function

  Function converttowide(str)
  Dim strlen
  Dim position
  Dim convertstr
  if isnull(str) then
  converttowide=str
  else
  position=1
  strlen=Len(str)
  For i=1 To strlen
  convertstr=convertstr+&&#x&+Hex(AscW(Mid(str,position,1)))+&;&
  position=position+1
  Next
  converttowide=convertstr
  end if
  End Function

 
  dim topicx,usernamex,addtimex,logtextx,ispassword
  '获取ID号
  articleid=request(&articleid&)
  '写执行语句
  strSQL = &select * from article where articleid=&&articleid&&&
  '接上面函数
  logtextx=cutStr(rs(&content&),5000)
  '开始分页
  dim page,PageLength,CLength,PageCount,wen,a
  if Request(&Page&)<>&& then Page = CLng(Request(&Page&))
  PageLength = 80
  CLength = Len(logtextx)
  PageCount = Int(Clength/PageLength) + 1
  if Page < 1 or IsNull(Page) Then Page = 1
  if Page > PageCount Then Page = PageCount
  if page=1 then
  a=1
  elseif page>1 then
  a=(Page-1)*PageLength
  end if
  wen=Mid(logtextx,a,PageLength)
  '判断
  if page=&& or page=1 then
  '开始显示内容
  Response.write (c2u(&内容:&))'www.w3sky.com
  end if
  Response.write (converttowide(wen))
  Response.write &<br/>&
  'Response.write (converttowide(&本文字数:&)) & CLength &&<br/>&
  Response.write (c2u(&本文被分为&)) & PageCount & (converttowide(&页&))&& &&c2u(&当前为&&Page&&页&)&&< br/>&
  if PageCount >1 and page <> 1 then'www.w3sky.com
  Response.write &1 &
  end if
  dim j
  For j=Page+1 To Page+10
  if j <= PageCount-1 then
  Response.write &&&j&& &
  end if
  next
  if PageCount >1 and Page <> PageCount then
  Response.write &<a href=&/&showarticle.asp?articleid=&&articleid&&&Page=&&PageCount&&&&>&&PageCount&&</a><br/>&
  End if
  '结束

  以上代码在WIN2000+IIS5、WIN2003+IIS6 上执行通过

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消