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动态图像的创建
Oct 09 PHP
Php+SqlServer实现分页显示
Oct 09 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
纯php打造的tab选项卡效果代码(不用js)
Dec 29 PHP
php join函数应用
May 04 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
Jun 01 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 PHP
PHP register_shutdown_function()函数的使用示例
Jun 23 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 PHP
laravel orm 关联条件查询代码
Oct 21 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判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
接收键盘指令的脚本
2006/06/26 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
2011/12/29 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
横向对比分析Python解析XML的四种方式
2016/03/30 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
Python 解析xml文件的示例
2020/09/29 Python
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
上海方立数码笔试题
2013/10/18 面试题
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
2016/03/12 面试题
成教自我鉴定
2013/10/27 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
行政主管岗位职责
2015/02/03 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
MySQL 存储过程的优缺点分析
2021/05/20 MySQL