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 相关文章推荐
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
php实现文件下载(支持中文文名)
Dec 04 PHP
php调用c接口无错版介绍
Mar 11 PHP
PHP Session机制简介及用法
Aug 19 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
Nov 22 PHP
php中get_meta_tags()、CURL与user-agent用法分析
Dec 16 PHP
php微信支付之APP支付方法
Mar 04 PHP
PHP整合七牛实现上传文件
Jul 03 PHP
php类的定义与继承用法实例
Jul 07 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 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
几种显示数据的方法的比较
2006/10/09 PHP
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
PHP session有效期问题
2009/04/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
laravel 数据验证规则详解
2019/10/23 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
python使用scrapy解析js示例
2014/01/23 Python
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
python Django模板的使用方法
2016/01/14 Python
Python打包可执行文件的方法详解
2016/09/19 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
python实践项目之监控当前联网状态详情
2019/05/23 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
Django框架models使用group by详解
2020/03/11 Python
超级实用的8个Python列表技巧
2020/08/24 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
90后毕业生的求职信范文
2013/09/21 职场文书
英文自我鉴定
2013/12/10 职场文书
新护士岗前培训制度
2014/02/02 职场文书
如何写好自荐信
2014/04/07 职场文书
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers