您的位置:首页网页设计ASP实例 → 超长字符的智能分页-支持HTML 

超长字符的智能分页-支持HTML 

时间:2004/11/7 3:01:00来源:本站整理作者:蓝点我要评论(0)

大概在九九年做游戏网站的时候,就对文章的发布感到麻烦,不过那会儿玩ASP不精。只是将就用着。在遇到长文件 10000 字时网页就是一大片长了。



去年,做一个通用的文章与新闻管理系统时,曾写了一段代码,用来分离。现在贴出来。



要说明的是:



我的文章 录入界面是基于WEB的HEMLEDITOR,就像这里的ABC代码差不多。所以实际提交的是HTML格式的文 本。



对HTML做了相应的处理,不会由HTML代码中切开。



这里另一位兄弟曾发表过一个,原理一样,不过我没仔细看过,不知有啥不同。





代码如下:

--------------------------------------

''Request Form Item

I_Forder = Request.Form ("I_Folder")

I_Topic = Request.Form ("I_Topic")

I_Title = htmlencode(Request.Form ("I_Title"))

I_Body = Request.Form ("body")

I_Source = Request.Form ("I_Source")

I_Keyword= htmlencode(Request.Form ("I_Keyword"))

I_ISHOT = request.form("ishot")

if i_ishot = "" then i_ishot="N"

i_ispic = request.form("ispic")

if i_ispic = "" then i_ispic ="N"

i_pic = request.form("InsertImage")

i_body = replace(i_body,"contentEditable=true","contentEditable=false")



''Check Input

''......



''Get Pages ,B = Body

B_Len = Len(I_Body)

B_Pages = 1

''T = Temp

T_Loop = true



Do While T_Loop ''这里loop多次,每4000分一页,算出页码并加入库。

If B_Len > 4000 then

N_Body = Left(I_Body,4000) ''N = New

''If "" in N_Body

If Instrrev(N_Body," 0 and (Len(N_Body) - Instrrev(N_Body,"
N_Body = Left(N_Body,InstrRev(N_Body,"
else if Instrrev(N_Body,"  ") > 0 and (Len(N_Body) - Instrrev(N_Body,"  "))< 400 then

N_Body = Left(N_Body,InstrRev(N_Body,"  ")-1)

Else If Instrrev(N_Body,"。") > 0 and (Len(N_Body) - Instrrev(N_Body,"。"))< 400 then

N_Body = Left(N_Body,InstrRev(N_Body,"。"))

Else If Instrrev(N_Body,";") > 0 and (Len(N_Body) - Instrrev(N_Body,";"))< 400 then

N_Body = Left(N_Body,InstrRev(N_Body,";"))

else if Instrrev(N_Body,",") > 0 and (Len(N_Body) - Instrrev(N_Body,","))< 400 then

N_Body = Left(N_Body,InstrRev(N_Body,","))

else if Instrrev(N_Body,".") > 0 and (Len(N_Body) - Instrrev(N_Body,"."))< 400 then

N_Body = Left(N_Body,InstrRev(N_Body,"."))

end if

end if

End If

End If

end if

End if



N_Len = Len(N_Body)

I_Body = Mid(I_Body,N_Len+1)

B_Len = Len(I_Body)



Else

N_Body = I_Body

T_Loop = false

End If





''Add to database

Exec_prc_Content_Ins I_Forder,I_Topic,I_Title,I_Source,N_Body,i_ispic,i_pic,i_ishot,I_Keyword,B_Pages



''这里一个function,你可以自己处理,反正结果有两个,一个是body,一个是b_pages,就是页码。





B_Pages = B_Pages + 1



Loop





%>















新建网页 1





















录入成功


此文章共分<%=B_Pages-1%>页




















相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 迅雷新手完全入门手册 asp下面javascript上传图片限制格式大小方法告诉大家网页弹出窗口应用总结ASP常见错误类型大全asp常见错误分析和解决办法

人气排行 总是弹出visual studio 实时调试器 三种解决SQLSERVER存储过程及调用详解Asp获取真实IP地址ASP中连接Mssql的几种方法一个简单好用的UBB编辑器(含代码)如何用Split将字符串转换为数组并获取数组下ASP防止表单重复提交的办法告诉你免费的简单聊天室源代码