实现超长文本分页显示

一 代码

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">&nbsp;</td>
        <td width="489">&nbsp;</td>
        <td width="44">&nbsp;</td>
      </tr>
      <tr>
        <td height="245">&nbsp;</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>&nbsp;";
					 echo "<a href=index.php?page=".($_GET[page]-1).">上一页</a>&nbsp;";
				   }
				  if($_GET[page]<$page_count){
				        echo "<a href=index.php?page=".($_GET[page]+1).">下一页</a>&nbsp;";
				        echo  "<a href=index.php?page=".$page_count.">尾页</a>";				
				   }				   
			  ?>
        </span></td>
      </tr>
</table>
</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td height="234">&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</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;							//输出字符串
	}
?> 
二 运行结果

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值