Posted in PHP onJune 07, 2010
<?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 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 = '3water.com'; $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静态页面代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@