主题:  关于文章的分页问题?急!!!

skyhuang

职务:普通成员
等级:1
金币:0.0
发贴:69
#12006/5/8 10:49:28
怎样将文章按行数分页
代码怎么写?求求各位大侠指教,谢谢



yiliaocheng

职务:普通成员
等级:2
金币:2.0
发贴:631
#22006/5/8 10:53:49
你用百度搜就可以找到很多,不过本人感觉很多都不行,我想做过,可是没成功。



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#32006/5/8 16:01:38
按行数分页比较难做到
但可以用插入分页符的标记来控制,分页符标记如可设置为
<!--nextpage-->


非常大鱼

yiliaocheng

职务:普通成员
等级:2
金币:2.0
发贴:631
#42006/5/10 10:39:04
文章按字数分页
<%
'文本格式化
function htmlformat(str)
htmlformat = Replace((Replace(str, vbCrlf, "<br>"), chr(32)&chr(32), "&nbsp;&nbsp"
End Function
%>
<%
pagelen=800
thisid=request.querystring("id"
wz=rs("content"
if len(wz)>pagelen then
p_count=(len(wz)/pagelen)+1
c_page=request.querystring("page"
cc_page=cint(c_page)
if c_page="" or c_page="1" then
page=1
content=left(wz,pagelen)
response.write htmlformat(content)
response.write "<br><br><div align=center>页码:<font color=red>"
for i=1 to p_count
if i=cc_page then
response.write "["&i&"] "
else
response.write "[<a href=detail.asp?id="&thisid&"&page="&i&">"&i&"</a>]&nbsp;&nbsp;"
end if
next
response.write "</font></div>"
elseif cc_page<=p_count then
cc_page=cint(c_page)
a=cc_page-1
content=Mid(wz,a*pagelen+1,pagelen)
response.write htmlformat(content)
response.write "<br><br><div align=center>页码:<font color=red>"
for i=1 to p_count
if i=cc_page then
response.write "["&i&"] "
else
response.write "[<a href=detail.asp?id="&thisid&"&page="&i&">"&i&"</a>]&nbsp;&nbsp;"
end if
next
response.write "</font><div>"
else
response.write "页号超出,请<a href=javascript:history.back(-1)>返回</a>"
end if
else
response.write htmlformat(wz)
end if
%>



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#52006/5/10 16:53:27
要分出html代码的行数或显示文本的长度比较困难,要考虑以下情况
单字节与双字节字符宽度不一样,显示与非显示符号如<br>或<br />,html或js等代码不能作为长度来计算的,图片或媒体文件等。要分析有效文本长度,类同html代码分析器,不容易,所以一般排除代码分析方法。


非常大鱼

yiliaocheng

职务:普通成员
等级:2
金币:2.0
发贴:631
#62006/5/10 17:05:57
按字数分页个人感觉比较愚蠢,因为有时候一个代码比如<br>会被分割到两页,但是如果在添加新闻的时候就添加分页符又感觉有些影响系统的可操作性和简易程度,还是按行比较好点,可是按行就比较困难,真不好取舍。



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#72006/5/10 17:16:19
yiliaocheng在上个帖子中说
引用:
按字数分页个人感觉比较愚蠢,因为有时候一个代码比如<br>会被分割到两页,但是如果在添加新闻的时候就添加分页符又感觉有些影响系统的可操作性和简易程度,还是按行比较好点,可是按行就比较困难,真不好取舍。


行数计算首先是以字数计算为基础的啊,先计算一段的字数,再计算每行的最大字数,才能计算出行数。行数计算比字数计算要复杂得多,并且不定宽度的页,行宽度是不确定的。

不过可以引入一个不精确的分页,以段落为单位,大概有一定长度后就切断。

不过我还是喜欢用自定义分页符<!--page-->,这代码在html是注释代码,不会显示的,但可以作为分页标点。


非常大鱼

yiliaocheng

职务:普通成员
等级:2
金币:2.0
发贴:631
#82006/5/10 19:11:54
我用||||做为分页符号,但是新闻内容不能显示,代码如下:
<%
content=rsnews("content")
If Request("page")=""Then
pageNum=0
Else
pageNum=Request("page")
End if
Content=Replace((unHTML(rs("content"))),"||||"," |||| ")
ContentStr=split(Content,"||||")
For i=pageNum to pageNum
response.write ""&ContentStr&"<br>"
next
For p = 0 to ubound(ContentStr)
%><a href="onews1.asp?ID=<%=owen%>&page=<%=p%>" class=""><%=p+1%></a>
<% Next %>页



yiliaocheng

职务:普通成员
等级:2
金币:2.0
发贴:631
#92006/5/10 21:42:14
不好意思,我发了点昏,response.write ""&ContentStr&"<br>"改为response.write ""&ContentStr(i)&"<br>"
就可以了



skyhuang

职务:普通成员
等级:1
金币:0.0
发贴:69
#102006/5/11 9:41:00
谢谢各位的顶力支持,谢谢!谢谢!