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

网络整理 - 09-07

以下是引用片段:
  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 上执行通过