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


Posted in PHP onJune 07, 2012

实例代码:

<?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 删除cookie和浏览器重定向
Mar 16 PHP
php实现斐波那契数列的简单写法
Jul 19 PHP
linux中cd命令使用详解
Jan 08 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
Nov 10 PHP
php使用文本统计访问量的方法
May 12 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
php 一维数组的循环遍历实现代码
Apr 10 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
PHP使用PDO抽象层获取查询结果的方法示例
May 10 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 PHP
PHP实现读取文件夹及批量重命名文件操作示例
Apr 15 PHP
PHP 查找字符串常用函数介绍
Jun 07 #PHP
php中通过curl smtp发送邮件
Jun 05 #PHP
Smarty的配置与高级缓存技术分享
Jun 05 #PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
Jun 05 #PHP
php中json_decode()和json_encode()的使用方法
Jun 04 #PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 #PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 #PHP
You might like
PHP Squid中可缓存的动态网页设计
2008/09/17 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
PHP单例模式详细介绍
2015/07/01 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
React.js入门实例教程之创建hello world 的5种方式
2016/05/11 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
带你快速理解javascript中的事件模型
2017/08/14 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
python提取图像的名字*.jpg到txt文本的方法
2018/05/10 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
python创造虚拟环境方法总结
2019/03/04 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
高级Java程序员面试题
2016/06/23 面试题
材料加工工程求职信
2014/02/19 职场文书
工程安全生产协议书
2014/11/21 职场文书
财务稽核岗位职责
2015/04/13 职场文书
Python利用zhdate模块实现农历日期处理
2022/03/31 Python