超长字符的分页显示

来源:互联网 发布:淘宝店铺客服几点下班 编辑:程序博客网 时间:2024/04/30 08:01

<%
if Request.ServerVariables("Content_Length") > 0 then
content = server.HTMLEncode(Request.Form("textarea1"))
PageLength = 1000 ’每页字数
CLength = Len(content)
PageCount = Int(Clength/PageLength) + 1 ’计算页数
dim PageArray
redim PageArray(PageCount)
Seperator = Array(chr(13),chr(10),"。","!","?",";",",","”","'") ’分隔符
PageArray(0) = 0
Pos = 0
for j=0 to ubound(Seperator)
   Pos = instr(PageArray(i)+900,content,Seperator(j)) ’PageArray(i)+900 附近位置是100字,1-999可调
   while Pos > 0 and Pos < (i+1)*PageLength and Pos > i*PageLength
PageArray(i) = Pos
Pos = instr(Pos+PageLength,content,Seperator(j))
   wend
   if PageArray(i) > 0 then
Response.Write "0:i&brvbar; "&PageArray(i)&"<br>"&j&":j"&Seperator(j)&"<br>"
j = j + ubound(Seperator) + 1
   end if
next
for i=1 to PageCount-1
   PageArray(i) = 0
   Pos = 0
   for j=0 to ubound(Seperator)
Pos = instr(PageArray(i-1)+950,content,Seperator(j))
while Pos > 0 and Pos < (i+1)*PageLength and Pos > i*PageLength
   PageArray(i) = Pos
   Pos = instr(Pos+PageLength,content,Seperator(j))
wend
if PageArray(i) > 0 then
   Response.Write i&":i&brvbar; "&PageArray(i)&"<br>"&j&":j"&Seperator(j)&"<br>"
   j = j + ubound(Seperator) + 1
end if
   next
   next
   output = mid(content,1,PageArray(0))
   output = replace(output,chr(13),"<br>")
   Response.Write "<br><br>第1段<br>"
   Response.Write output

   for i=1 to PageCount-2
output = mid(content,PageArray(i-1)+1,PageArray(i)-PageArray(i-1))
output = replace(output,chr(13),"<br>")
Response.Write "<br><br>第"&i+1&"段<br>"
Response.Write output
   next
   output = mid(content,PageArray(ubound(PageArray)-2)+1,CLength)
   output = replace(output,chr(13),"<br>")
   Response.Write "<br><br>第"&PageCount&"段<br>"
   Response.Write output
else
%>
<FORM action="" method=POST id=form1 name=form1>
<TEXTAREA rows=70 cols=120 id=textarea1 name=textarea1>
</TEXTAREA>
<INPUT type="submit" value="Submit" id=submit1 name=submit1>
</FORM>
<%end if%>

 
原创粉丝点击