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 相关文章推荐
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
网友原创的PHP模板类代码
Sep 07 PHP
PHP5+UTF8多文件上传类
Oct 17 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
PHP中的traits简单使用实例
May 13 PHP
php操纵mysqli数据库的实现方法
Sep 18 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
May 02 PHP
PHP实现的操作数组类库定义与用法示例
May 24 PHP
PHP 实现文件压缩解压操作的方法
Jun 14 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 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图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
jquery 锁定弹出层实现代码
2010/02/23 Javascript
Js(JavaScript)中,弹出是或否的选择框示例(confirm用法的实例分析)
2013/07/09 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
使用Python中的cookielib模拟登录网站
2015/04/09 Python
Python中文字符串截取问题
2015/06/15 Python
python opencv之SIFT算法示例
2018/02/24 Python
解决Python获取字典dict中不存在的值时出错问题
2018/10/17 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
python面试题之列表声明实例分析
2019/07/08 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
python统计文章中单词出现次数实例
2020/02/27 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
python如何构建mock接口服务
2021/01/28 Python
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
电台实习生求职信
2014/02/25 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis