php文章内容分页并生成相应的htm静态页面代码

2015-01-24信息快讯网

php 文章内容分页并生成对应的htm静态文件实例代码,一般主要用户长文件分页。

 
<?php 
$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 [email protected] MSN:[email protected] 
*/ 
//文章数组 
$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); 
} 
?>

©2014-2024 dbsqp.com