大概在九九年做游戏网站的时候,就对文章的发布感到麻烦,不过那会儿玩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,"contentEdi@R_404_5991@=true","contentEdi@R_404_5991@=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," ")-1)
Else If Instrrev(N_Body,"。") > 0 and (Len(N_Body) - Instrrev(N_Body,"。"))< 400 then
N_Body = left(N_Body,"。"))
Else If Instrrev(N_Body,";") > 0 and (Len(N_Body) - Instrrev(N_Body,";"))< 400 then
N_Body = left(N_Body,";"))
else if Instrrev(N_Body,",") > 0 and (Len(N_Body) - Instrrev(N_Body,","))< 400 then
N_Body = left(N_Body,","))
else if Instrrev(N_Body,".") > 0 and (Len(N_Body) - Instrrev(N_Body,"."))< 400 then
N_Body = left(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
%>
<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>新建网页 1</Title>
<link rel="stylesheet" type="text/CSS" href="../CSS/default.CSS">
</head>
<body>
<div align="center">
<center>
<@R_404_5991@ border=1 wIDth="300" height="128" bordercolor="#000000" cellspacing="0" cellpadding="0" ><tr>
<td bgcolor="#DEDBD6" height="31">
录入成功</td></tr><tr><td height="96">
<p align="center">此文章共分<%=B_Pages-1%>页
</td></tr></@R_404_5991@>
</center>
</div>
<script>
top.main_top.location.reload();
</script>
</body>
总结以上是内存溢出为你收集整理的超长字符的智能分页-支持HTML全部内容,希望文章能够帮你解决超长字符的智能分页-支持HTML所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)