php文章内容分页并生成相应的htm静态页面代码
代码如下:
$url='test.php?1=1';
$contents="fjka;fjsa;#page#批量生成分成文件并且加上分页代码";
$ptext ='#page#';
ContentsPages($url,$contents,$ptext)
/**
* 函数名:ContentsPages
* 功能:文章内容分页
* 参数:$url文章内容页URL 类型string,$contents文章内容页内容 类型string,$ptext分页标识 类型string
* 作者:七夜
* QQ:64438136 linus.php@gmail.com MSN:zhijian@live.com
*/
//文章数组
$arr = explode($ptext,$contents);
//数组长度&总页数
$total = count($arr);
//当前页
$nowpage = $_GET['pages']?$_GET['pages']:1;
//上页
$prepage = $nowpage==1?1:$nowpage-1;
//下页
$nextpage = $nowpage>$total-1?$total:$nowpage+1;
//最后一页
$lastpage = $total;
$pdiv = '<br /><div style=\"height:30px;width:500px;border:1px; blackground-color:#ff0000;\">';
$pdiv .= "第{$nowpage}页 / 总{$total}页 ";
//首页链接
$pdiv
.= "<li style=\"display:inline;\"><a
href=\"{$url}&pages=1\"
style=\"text-decoration:none;\">首页</a></li>";
//上页链接
$pdiv
.= "<li style=\"display:inline;\"><a
href=\"{$url}&pages={$prepage}\"
style=\"text-decoration:none;\"> 上一页 </a></li>";
//显示分页列表
$color = '';
for($i = 1; $i<=$total; $i++)
{
if($i == $nowpage)
{
$color= "color:#ff0000;";
}
else
{
$color = '';
}
$pdiv
.= " <li style=\"display:inline;\"><a
href=\"{$url}&pages={$i}\"
style=\"text-decoration:none;\"><span
style=\"{$color}\">{$i}</span></a></li>";
}
//下页链接
$pdiv
.= " <li style=\"display:inline;\"><a
href=\"{$url}&pages={$nextpage}\"
style=\"text-decoration:none;\"> 下一页</a></li>";
//末页链接
$pdiv
.= "<li style=\"display:inline;\"><a
href=\"{$url}&pages={$lastpage}\"
style=\"text-decoration:none;\"> 末页 </a></li>";
$pdiv .= '</div>';
//输出内容
echo $arr[$nowpage-1];
//不分页则不显示分页列表
if( $total <=1) $pdiv = '';
//输出分页列表
echo $pdiv;
?>
下面是相关静态生成页面,虽然代码不正确但思路是没问题的。
<?
$tmpBody = "fjka;fjsa;{page}批量生成分成文件并且加上分页代码";
$tmpUrl = 'www.jb51.net';
$tmpUrlarray = explode('.',$tmpUrl);
$tmpArray = explode('{page}',$tmpBody);
$total = count($tmpArray);
$id="2";
if( $total >1 )
{
$tmpStr = '';
for( $i=0;$i<$total;$i++ ) //遍历所有分页
{
if( $i==0 )
{
$str .='<a href='.$id.'.htm class="bodypage" target=_self>'.($i+1).'</a> ';
}
else
{
$str .='<a href='.$id.'_'.$i.'.htm class="bodypage" target=_self>'.($i+1).'</a> ';
}
}
//批量生成分成文件并且加上分页代码
$str = '<div class="mupage">'.$str.'</div>';
for( $j=0;$j<$total;$j++ )
{
if( $j==0 )
{
$fname =$id.'.htm';
}
else
{
$fname =$id.'_'.$j.'.htm';
}
$tempMu = str_replace('{htmlContent}',$tmpArray[$j].$str,$tempLate);
makeHtml($tempMu,$filePath,$fname); //这个函数就不说明了,一个创建文件的代码
}
$mupage =1;
}
$tempLate = str_replace('{htmlContent}',$tmpBody,$tempLate); //普通文章 以{page}分页取出保存到一个数组再生成分页地址,然后再由根据explode分的数组的内容
生成htm 页面
$total=0;
$str='';
$i=0;
$j=0;
/*
本段代码生成的原理是id_分页号如100_1.htm,100_2.htm这样的形式,先是把
*/
function makeHtml($tempMu,$filePath,$fname){
$fp = fopen($filePath.$filename, "w");
fwrite($fp, $tempMu);
fclose($fp);
}
?>
php文章内容分页并生成相应的htm静态页面代码的更多相关文章
- php下删除一篇文章生成的多个静态页面
php自定义函数之删除一篇文章生成的多个静态页面,可能有多页的文章,都是需要考虑到的. 复制代码代码如下: //– 删除一篇文章生成的多个静态页面 //– 生成的文章名为 5.html 5_2.ht ...
- velocity生成静态页面代码
首先需要必备的jar包: web.xml <!-- load velocity property --> <servlet> <servlet-name>veloc ...
- 浅谈php生成静态页面
一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ...
- 三种C#.net生成静态页面的方法
ASP.NET生成静态页面方法主要有三种 第一种方法:向服务器的动态页面发送请求,获取页面的html代码.这种方法缺点显而易见:速度慢.另外如果请求的动态页面有验证控件的话,返回的html页面却无 ...
- SpringBoot 利用freemaker生成静态页面
1. <!-- freemarker模板 --> <dependency> <groupId>org.springframework.boot</groupI ...
- js对文章内容进行分页示例代码
这篇文章主要介绍了使用js对文章内容进行分页的具体实现,需要的朋友可以参考下 Thinkphp中文章显示代码: 代码如下: <div id="showContent"> ...
- Android面试题(文章内容来自他人博客)
腾讯面试题 1.int a = 1; int result = a+++3<<2; 2.int a = 2; int result = (a++ > 2)?(++a):(a+=3); ...
- html模板生成静态页面及模板分页处理
它只让你修改页面的某一部分,当然这"某一部分"是由你来确定的.美工先做好一个页面,然后我们把这个页面当作模板(要注意的是这个模板就没必要使用EditRegion3这样的代码了,这种 ...
- .NET生成静态页面并分页
因为公司的产品用asp开发, 前一段时间用asp写了一个生成静态页面并分页的程序,但缘于对.net的热爱,写了这个.net下的生成静态页面并分页的程序. 主要的原理就是替换模板里的特殊字符. 1.静态 ...
随机推荐
- 腾讯优测-优社区干货精选 | 那些年,我们在Android机型适配上遇到的坑之Camera拍照时快门咔嚓声
文/腾讯优测研发工程师 吴宇焕 优测小优有话说: android机型适配的坑自然是不少,不想掉坑快来优测优社区~ 现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想 ...
- Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)
什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定). 这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户 ...
- SQL Server使用convert对datetime日期数据进行获取
来源:http://database.51cto.com/art/201007/211883.htm 备注:本文的语法讲解确实是比较乱,似乎格式不太严谨.参考时还是以实例验证为准比较好 以下的文章主要 ...
- WPF ListBox响应鼠标滚轮
public static T FindVisualChild<T>(DependencyObject obj) where T : DependencyObject { if (obj ...
- Linux重定向相关(转载帖,供自己cookbook)
Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作. Linux默 ...
- GridView使用自带分页功能时分页方式及样式PagerStyle
// 转向地址:http://www.bubuko.com/infodetail-412562.html GridView分页,使用自带分页功能,类似下面样式: 在aspx页面中,GridView上的 ...
- json_encode和json_decode
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}' ...
- SSIS 项目部署模型
微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 项目部署模型 关于部署 SSIS 2012 支持两种部署模型:项目部署模型和包部署模型. 使用项目部署模型可以将项目部署到 Integ ...
- NUnit笔记
注意:单元测试中,Case 与 Case 之间不能有任何关系 测试方法不能有返回值,不能有参数,测试方法必须声明为 public [TestFixture] //声明测试类 [SetUp] //建立, ...
- Oracle正确删除archivelog文件(转)
from:http://www.itpub.net/thread-1636118-6-1.html Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而 ...