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">&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; //输出字符串

}

?>

二、运行结果

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

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

以上是 PHP实现的超长文本分页显示功能示例 的全部内容, 来源链接: utcz.com/p/221945.html

回到顶部