利用统计文章字数,然后达到一定字数就截断输出,但是分页的内容就会在莫名其妙的地方截断,不是很友好。 很简单,在要截断的地方附近找下面的符号: ;’”?。!;'".! 如果后面存在<p>或<br>就分页。主要是要研究文章的格式。 <% if Request.ServerVariables("Content_Length") > 0 then content = 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¦ "&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¦ "&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
'最后一段的输出就没写了
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%>
|