php文章内容分页并生成相应的htm静态页面代码 |
本文标签:内容分页,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 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); } ?> |