PHP 文本文章分页代码 按标记或长度(不涉及数据库)

 更新时间:2012年06月07日 13:28:21   作者:  
PHP文本分页,按标记或者长度分页,非传统的数据库分页。废话不多说,客观如有意可直接看代码
实例代码:
复制代码 代码如下:

<?php
/**
* **********************************************************
* Read Me
* 文章分页
*
* 分页方式,可以按字数分页,按换行分页,按特殊标记分页等
* 其实实现思路是一样的,只是将其按一定规律放入一个数组
* 然后根据 url 传入的参数取得某个片段即可
* 大家完全可以写一个功能强大的函数保存起来以备不时之需
*
* 题外话:很多编辑器都有插入分页按钮,利用插入的代码可显示分页
*
* filename: page.php
* charset: UTF-8
* create date: 2012-5-16
* **********************************************************
* @author itbdw <itbudaoweng@gmail.com>
* @copyright (C) 2011-2012 itbdw
* @link http://weibo.com/itbudaoweng
*/
header('Content-Type:text/html; charset=utf-8');
?>
<?php
$title = 'Pagination Test';
//需要分页的数据
$data = <<<DATA
Hey, guys. I am here to test if it is working.
This pagination is very simple, isn't it?<!--pagination-->
And I tried to use different method to page it.
Can you see it?
DATA;
//当前文章页
$page = 0;
//初始文章长度
$length = 0;
//分页长度
$perpage = 160;
//显示在页面的代码
$link = '';
//分割后的数组
$strArr = array();
$page = isset($_GET['page']) ? intval($_GET['page']) : 0;
$length = strlen($data);
//按字数分割
// $str = str_split($data, $perpage);
//按字符分割
$delimiter = "\n";
// $delimiter = '<--pagination-->';
$strArr = explode($delimiter, $data);
$strNum = count($strArr);
$content = $strArr[$page];
if ($strNum > 1) {
if ($page != 0) {
$link .= '<a href="?page=0">首页</a>';
} else {
$link .= '<span>首页</span>';
}
for ($n = 0; $n < $strNum; $n++) {
if ($n == $page) {
$link .= '<span>' . ($n + 1) . '</span>';
} else {
$link .= "<a href='?page={$n}'>" . ($n + 1) . "</a>";
}
}
$link .= '';
if ($page != ($strNum - 1)) {
$link .= "<a href='?page=" . ($strNum - 1) . "'>尾页</a>";
} else {
$link .= '<span>尾页</span>';
}
}
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<style type="text/css">
body {
font-family: '微软雅黑';
}
.link a, span {
margin: 1px;
padding: 1px;
}
.link span {
color: #777;
}
.link a {
color: #26A2DA;
text-decoration: none;
}
</style>
<title>测试文章分页</title>
</head>
<body>
<h1><?php echo $title; ?></h1>
<p><?php echo $content; ?></p>
<hr />
<p class="link"><?php echo $link; ?></p>
</body>
</html>

相关文章

  • php中看实例学正则表达式

    php中看实例学正则表达式

    php中看实例学正则表达式,下面的文章都是通过实例说明来教你学习正则表达式,需要的朋友可以参考下。
    2006-12-12
  • 基于PHP实现用户注册登录功能

    基于PHP实现用户注册登录功能

    本课程通过使用PHP及Web前端技术实现一个网站注册登录入口页面,学习并实践PHP编程等,有兴趣的同学可以参考一下。
    2016-10-10
  • PHP 将数组打乱 shuffle函数的用法及简单实例

    PHP 将数组打乱 shuffle函数的用法及简单实例

    下面小编就为大家带来一篇PHP 将数组打乱 shuffle函数的用法及简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • PHP变量的作用范围实例讲解

    PHP变量的作用范围实例讲解

    这篇文章主要介绍了PHP变量的作用范围实例讲解,介绍了变量的类型和具体的代码实例,讲解的非常清晰,有对这方面不懂的同学可以阅读了解下
    2020-12-12
  • php中通过curl模拟登陆discuz论坛的实现代码

    php中通过curl模拟登陆discuz论坛的实现代码

    PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。libcurl目前支持http、https、ftp、 gopher、telnet、dict、file和ldap协议
    2012-02-02
  • Yii核心组件AssetManager原理分析

    Yii核心组件AssetManager原理分析

    这篇文章主要介绍了Yii核心组件AssetManager原理分析,较为详细的分析了AssetManager组件的原理与实现过程,有助于深入了解yii框架的特性,需要的朋友可以参考下
    2014-12-12
  • 使用laravel指定日志文件记录任意日志

    使用laravel指定日志文件记录任意日志

    今天小编就为大家分享一篇使用laravel指定日志文件记录任意日志,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • yii,CI,yaf框架+smarty模板使用方法

    yii,CI,yaf框架+smarty模板使用方法

    这篇文章主要介绍了yii,CI,yaf框架+smarty模板使用方法,结合实例形式介绍了yii,CI及yaf框架整合smaryt模板的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-12-12
  • laravel开发中跨域的解决方案

    laravel开发中跨域的解决方案

    最近在开发中遇到了跨域的需求,通过查找相关资料找到了相关的解决方法了,所以下面这篇文章主要给大家介绍了关于laravel开发中跨域的解决方案,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结

    PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结

    这篇文章主要介绍了PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结,多种方法总有一种适合你,防止搜索引擎蜘蛛拖死搜索引擎
    2015-09-09

最新评论