明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

超長字符的自動選擇分頁-支持HTML

[摘要]大概在九九年做游戲網(wǎng)站的時候,就對文章的發(fā)布感到麻煩,不過那會兒玩ASP不精。只是將就用著。在遇到長文件 10000 字時網(wǎng)頁就是一大片長了。 去年,做一個通用的文章與新聞管理系統(tǒng)時,曾寫了一段代碼...
大概在九九年做游戲網(wǎng)站的時候,就對文章的發(fā)布感到麻煩,不過那會兒玩ASP不精。只是將就用著。在遇到長文件 10000 字時網(wǎng)頁就是一大片長了。

去年,做一個通用的文章與新聞管理系統(tǒng)時,曾寫了一段代碼,用來分離,F(xiàn)在貼出來。

要說明的是:

我的文章 錄入界面是基于WEB的HEMLEDITOR,就像這里的ABC代碼差不多。所以實際提交的是HTML格式的文 本。

對HTML做了相應(yīng)的處理,不會由HTML代碼中切開。

這里另一位兄弟曾發(fā)表過一個,原理一樣,不過我沒仔細(xì)看過,不知有啥不同。


代碼如下:
--------------------------------------
'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 "<P" in N_Body,Else ">" in N_Body
If Instrrev(N_Body,"<P") > 0 and (Len(N_Body) - Instrrev(N_Body,"<P"))< 400 then
N_Body = Left(N_Body,InstrRev(N_Body,"<P")-1)
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,你可以自己處理,反正結(jié)果有兩個,一個是body,一個是b_pages,就是頁碼。


B_Pages = B_Pages + 1

Loop


%>

<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建網(wǎng)頁 1</title>
<link rel="stylesheet" type="text/css" href="../CSS/default.css">
</head>

<body>

<div align="center">
<center>

<table border=1 width="300" height="128" bordercolor="#000000" cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
<td bgcolor="#DEDBD6" height="31">
錄入成功</td></tr><tr><td height="96">
<p align="center">此文章共分<%=B_Pages-1%>頁
</td></tr></table>


</center>
</div>
<script>
top.main_top.location.reload();
</script>

</body>