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学习之PHP表达式
Oct 09 PHP
php下检测字符串是否是utf8编码的代码
Jun 28 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
Jan 22 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
PHP5.6读写excel表格文件操作示例
Feb 26 PHP
PHP实现的操作数组类库定义与用法示例
May 24 PHP
浅析PHP7 的垃圾回收机制
Sep 06 PHP
设定php简写功能的方法
Nov 28 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 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
浅谈javascript 归并方法
2015/01/21 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
[js高手之路]单例模式实现模态框的示例
2017/09/01 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
微信小程序实现日历效果
2018/12/28 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
python使用多线程不断刷新网页的方法
2015/03/31 Python
python从入门到精通(DAY 1)
2015/12/20 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
python自动化报告的输出用例详解
2018/05/30 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Python序列类型的打包和解包实例
2019/12/21 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
详解python中的异常和文件读写
2021/01/03 Python
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
上级检查欢迎词
2014/01/18 职场文书
后备干部考察材料
2014/02/12 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
父母寄语大全
2014/04/12 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
golang中实现给gif、png、jpeg图片添加文字水印
2021/04/26 Golang
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android