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 相关文章推荐
第六节 访问属性和方法 [6]
Oct 09 PHP
php ftp文件上传函数(基础版)
Jun 03 PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 PHP
深入PHP许愿墙模块功能分析
Jun 25 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
PHP单例模式简单用法示例
Jun 23 PHP
php 获取xml接口数据的处理方法
May 31 PHP
php实例化对象的实例方法
Nov 17 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
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
通过C++学习Python
2015/01/20 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
python reverse反转部分数组的实例
2018/12/13 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
启动一个线程是用run()还是start()
2016/12/25 面试题
房地产资料员岗位职责
2014/07/02 职场文书
身边的榜样活动方案
2014/08/20 职场文书
员工辞退通知书
2015/04/17 职场文书
Python集合的基础操作
2021/11/01 Python
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android