繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP应用 >> 超长字符的智能分页-支持HTML

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

2006-02-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:   大概在九九年做游戏网站的时候,就对文章的发布感到麻烦,不过那会儿玩ASP不精。只是将就用着。在遇到长文件 10000 字时网页就是一大片长了。 去年,做一个通用的文章与新闻管理系统时,曾写了一段代码,用...

   大概在九九年做游戏网站的时候,就对文章的发布感到麻烦,不过那会儿玩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%>页

责任编辑:admin
相关文章