首页 > 开发 > PHP > 正文

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

2024-05-04 22:43:05
字体:
来源:转载
供稿:网友

本文实例讲述了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;       //输出字符串 }?>            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表