php文章内容分页并生成相应的htm静态页面代码
程序员文章站
2022-06-12 18:19:14
复制代码 代码如下:
<?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);
}
?>
复制代码 代码如下:
<?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);
}
?>
上一篇: 第6章 利用数组处理批量数据