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

yipeiwu_com5年前PHP代码库

本文实例讲述了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程序设计有所帮助。

相关文章

PHP学习笔记(二) 了解PHP的基本语法以及目录结构

PHP学习笔记(二) 了解PHP的基本语法以及目录结构

通过这节课, 1.了解AppServ的目录结构 2.我们可以了解PHP的基本语法结构 1 我的AppServ安装目录是E盘: ①运用命令行的方式去操作apache服务器 apache服...

PHP使用flock实现文件加锁的方法

本文实例讲述了PHP使用flock实现文件加锁的方法。分享给大家供大家参考。具体分析如下: flock在官方文档里的解释是:flock() 允许你执行一个简单的可以在任何平台中使用的读取...

PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析

后来,我通过跟踪发现,这类情况的出现,跟 PHP 的 file_get_contents() 函数有着密切的关系。   大、中型网站中,基于 HTTP 协议的 API 接口调用,是家常便...

PHP工程师VIM配置分享

PHP工程师VIM配置分享

关于我的vim配置 经常在服务器上写代码,一个朋友提供了关于他的vim配置,在此分享给大家。 界面效果图: .vimrc 内容如下  "==================...

PHP获取表单所有复选框的值的方法

通常来说,php中总是只获取最后一个复选框的值,那么如何才能获取所有复选框的值? 解决办法如下: form表单的部分代码如下: <input type="checkbox" n...