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

2016-01-29 17:45 20 1 收藏

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

【 tulaoshi.com - ASP 】

  大概在九九年做游戏网站的时候,就对文章的发布感到麻烦,不过那会儿玩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 "<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,你可以自己处理,反正结果有两个,一个是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

<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%页
</

来源:http://www.tulaoshi.com/n/20160129/1502775.html

延伸阅读
标签: flash教程
<a 超链接标签 属性:href: 链接地址 target: 目标窗口 可取值为_blank,_parent,_self,_top。 例: my_txt.htmlText="<a href='http://www.blueidea.com' target='_self'蓝色理想</a" <b 粗体标签 例: my_txt.htmlText="<b Bold </b" <br 换行标签 例: my_txt.htmlText="Title of Articles <br" <f...
标签: MySQL mysql数据库
摘于:  http://jjgod.3322.org/2005/07/31/a-mysql-41-story/ 下面要写的是一篇非常无聊的东西,充斥了大量各式各样的编码、转换、客户端、服务器端、连接……呃,我自己都不愿意去看它,但想一想,写下来还是有点意义的,原因有四: MySQL 4.1 对多语言的支持有了很大变化 (这导致了问题的出现);  尽管大部分的地方 (包括个...
  只要你认识了 HTML 标记,你便会知道特殊字符的用处。 HTML 原始码 显示结果 描述 &lt;<小於号或显示标记&gt;大於号或显示标记&amp;&可用於显示其它特殊字符&quot;"引号&reg;®己注册&copy;©版权&trade;™商标&ensp; 半方大的空白&emsp; 全方大的空白&nbsp;&...
标签: Web开发
在打印HTML页面时控制分页,可以使用层来动态控制。 具体的方法是,在需要分页的地方动态添加如下代码: div style="PAGE-BREAK-AFTER: always"/div
标签: Web开发
?php Header("Content-Type:text/html; charset=utf-8"); function AjaxPage($Total,$ListNub,$CurrentPage,$Url,$AjaxAction,$HalfPer='',$ViewId='') { //计算总页数 $totalPage = @ceil($Total/$ListNub); $total=$totalPage-1; $re=""; //echo $CurrentPage; $re .= ( $CurrentPage&nbs...

经验教程

680

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部