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 相关文章推荐
PHP5中使用DOM控制XML实现代码
May 07 PHP
PHP 之Section与Cookie使用总结
Sep 14 PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 PHP
php mail to 配置详解
Jan 16 PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
Jul 01 PHP
ThinkPHP实现递归无级分类――代码少
Jul 29 PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 PHP
thinkphp实现图片上传功能
Jan 13 PHP
PHP中抽象类和抽象方法概念与用法分析
May 24 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 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 数据结构之链表队列
2017/10/17 PHP
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
java实现单链表增删改查的实例代码详解
2019/08/30 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
微信小程序手动添加收货地址省市区联动
2020/05/18 Javascript
了不起的11个JavaScript代码重构最佳实践小结
2021/01/11 Javascript
python求素数示例分享
2014/02/16 Python
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
python的sorted用法详解
2019/06/25 Python
python变量的存储原理详解
2019/07/10 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
教师自查自纠工作情况报告
2014/10/29 职场文书
干部个人考察材料
2014/12/24 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书