php文章內容分頁並產生相應的htm靜態頁面代碼

來源:互聯網
上載者:User

複製代碼 代碼如下:<?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);
}
?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.