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.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+""+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 上执行通过