PHP实现的超长文本分页显示功能示例

2018-09-07 14:27

阅读:227

  本文实例讲述了PHP实现的超长文本分页显示功能。分享给大家供大家参考,具体如下:

  一、代码

  1、index.php

   <?php if ($_GET[page]==) {$_GET[page]=1;}; include(function.php);?> <html> <head> <meta http-equiv=Content-Type content=text/html; charset=gb2312 /> <title>超长文本的分页显示</title> </head> <style type=text/css> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } a:link { text-decoration: none; } a:visited { text-decoration: none; } a:hover { text-decoration: none; } a:active { text-decoration: none; } .STYLE3 {color: #333333; font-size: 13px; } --> </style> <body> <table width=876 height=638 border=0 align=center cellpadding=0 cellspacing=0> <tr> <td width=343 height=159></td> <td width=489></td> <td width=44></td> </tr> <tr> <td height=245></td> <td align=center valign=top><table width=480 border=0 cellspacing=0 cellpadding=0> <tr> <td height=22 colspan=2> <span class=STYLE3> <?php //读取超长文本中的数据,实现超长文本中数据的分页显示 if($_GET[page]){ $counter=file_get_contents(file/file.txt); $length=strlen($counter); $page_count=ceil($length/950); $c=msubstr($counter,0,($_GET[page]-1)*950); $c1=msubstr($counter,0,$_GET[page]*950); echo substr($c1,strlen($c),strlen($c1)-strlen($c)); } ?> </span> </td> </tr> <tr> <td width=202 height=22><span class=STYLE3>页次:<?php echo $_GET[page];?> / <?php echo $page_count;?> 页 </span></td> <td width=278><span class=STYLE3>分页: <?php if($_GET[page]!=1){ echo <a href=index.php?page=1>首页</a>; echo <a href=index.php?page=.($_GET[page]-1).>上一页</a>; } if($_GET[page]<$page_count){ echo <a href=index.php?page=.($_GET[page]+1).>下一页</a>; echo <a href=index.php?page=.$page_count.>尾页</a>; } ?> </span></td> </tr> </table> </td> <td></td> </tr> <tr> <td height=234></td> <td></td> <td></td> </tr> </table> </body> </html>

  2、function.php

   <?php //定义一个用于截取一段字符串的函数msubstr() function msubstr($str,$start,$len){ //$str指的是字符串,$start指的是字符串的起始位置,$len指的是长度。 $strlen=$start+$len; //用$strlen存储字符串的总长度(从字符串的起始位置到字符串的总长度) for($i=0;$i<$strlen;$i++){ //通过for循环语句,循环读取字符串 if(ord(substr($str,$i,1))>0xa0){ //如果字符串中首个字节的ASCII序数值大于0xa0,则表示为汉字 $tmpstr.=substr($str,$i,2); //每次取出两位字符赋给变量$tmpstr,即等于一个汉字 $i++; //变量自加1 }else{ //如果不是汉字,则每次取出一位字符赋给变量$tmpstr $tmpstr.=substr($str,$i,1); } } return $tmpstr; //输出字符串 } ?>

  二、运行结果

  更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结》

  希望本文所述对大家PHP程序设计有所帮助。


评论


亲,登录后才可以留言!