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和ACCESS写聊天室(二)
Oct 09 PHP
global.php
Dec 09 PHP
php 字符转义 注意事项
May 27 PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
Zend的MVC机制使用分析(一)
May 02 PHP
destoon二次开发模板及调用语法汇总
Jun 21 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
Mar 19 PHP
PHP中的魔术方法总结和使用实例
May 11 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 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
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
详解Vue用cmd创建项目
2019/02/12 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
2019/05/07 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
在Django中使用Sitemap的方法讲解
2015/07/22 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
详解python itertools功能
2020/02/07 Python
python自动点赞功能的实现思路
2020/02/26 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
python ETL工具 pyetl
2020/06/07 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
python+requests接口自动化框架的实现
2020/08/31 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
zooplus波兰:在线宠物店
2019/07/21 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
自主实习接收函
2014/01/13 职场文书
贷款委托书范本
2014/04/08 职场文书
村党支部换届选举方案
2014/05/02 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
新兵入伍决心书
2015/09/22 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
MySQL里面的子查询的基本使用
2021/08/02 MySQL
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers