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 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);
}
?>

(0)

相关推荐

  • PHP实现长文章分页实例代码(附源码)

    当文章内容比较长,为了更好的满足用户体验度,我们将文章内容分页显示处理,而一般分页处理是在后台发布文章的时候就将提交的内容生成多个分页后的静态文件.通过本文结合实例采用php动态将长文章内容进行分页处理. 查看效果演示     源码下载 如何分页 手动分页:一般在编辑内容时加入特殊分页标记,如{pages},提交后,PHP程序会根据分页符处理分页,生成不同的静态页面.这种分页方法分页准确,但是需要人工手动添加分页符,工作量大. 自动分页:PHP程序会根据设置好的分页符将内容进行分页,然后生成不同

  • php中长文章分页显示实现代码

    欢迎交流!实现代码如下: 复制代码 代码如下: <?php include('include/config.php'); ?> <?php /** *Author:乌鸟heart *实现长文章分页的代码 *原理: *利用一个数组来记录文章每一页(用p0.p1.p2...做手动标记)的起始字节数,然后通过利用php函数操作这个数组去显示分页后的文章.分页显示,传递ptag(与tag的值一样)值. *利用到的php函数: *1.strlen("字符串") - Return

  • PHP 文本文章分页代码 按标记或长度(不涉及数据库)

    实例代码: 复制代码 代码如下: <?php /** * ********************************************************** * Read Me * 文章分页 * * 分页方式,可以按字数分页,按换行分页,按特殊标记分页等 * 其实实现思路是一样的,只是将其按一定规律放入一个数组 * 然后根据 url 传入的参数取得某个片段即可 * 大家完全可以写一个功能强大的函数保存起来以备不时之需 * * 题外话:很多编辑器都有插入分页按钮,利用插入的代码可

  • PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部

    复制代码 代码如下: <?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每页字数 $CLength = strlen($content); $PageCount = floor(($CLength / $PageLength)) + 1; //计算页数 $PageArray=array(); $Seperator = array("\n","\r"

  • 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分页标识 类型s

  • 揭露88red生成htm静态页面企业建站系统漏洞第1/2页

    作者:小帥(xsser)@[0.S.T]  本文已发表在<黑客手册>第4期,转载请注明出处,或以超链接方式注明:http://blog.0kee.com/xiaoshuai 小帥's blog 很久没去asp300溜达了,不去总觉得的对不起这个发布站的流量,也对不起黑客手册那么多读者的强烈要求(别扔鸡蛋!扔钱!),那好,既然牛都吹起来了,我不得不冒着生命危险看看代码吧,反正我下载下来的时候就觉得很伟大,这个系统很伟大,他吹的比我还大,好好,我们看他怎么说的:88red生成htm静态页面企业建站

  • php下删除一篇文章生成的多个静态页面

    复制代码 代码如下: //– 删除一篇文章生成的多个静态页面 //– 生成的文章名为 5.html 5_2.html 5_3.html /*------------------ */ function delStaticHtml ($article_id) { global $db; $sql = "SELECT `post_time` FROM `@__article` WHERE `article_id` = '{$article_id}'"; $art = $db->get

  • asp.net 文章内容分页显示的代码

    aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ArticlePage.aspx.cs" Inherits="ArticlePage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/

  • ASP.NET编程简单实现生成静态页面的方法【附demo源码下载】

    本文实例讲述了ASP.NET编程简单实现生成静态页面的方法.分享给大家供大家参考,具体如下: 1. 使用场景 当页面的数据不需要经常更改时可采用静态页面方式. 2. 使用静态页面的好处 (1)提高网站的访问速度 (2)减轻服务器负担 (3)利于搜索引擎抓取 3. ASP.NET生成静态页面 生成静态页面方法有很多种,先说下我使用的其中的一种.参考资料 基本思路: (1)创建模板template.html文件,在里面定义一些特殊的字符串格式用于替换内容,如$htmlformat (2)读取模板,赋

  • 写一个对搜索引擎友好的文章SEO分页类

    使用jsp/php/asp等动态程序生成的页面如何对搜索引擎友好呢?你可能想使用url_rewrite.不过,最好还是让同一个网址在任意时间对应的页面内容都是一样的或者相似的.因为搜索引擎不喜欢页面内容总是在变化的网址. 一般博客文章需要将新发表的文章显示在前面,所以会使用"order by id desc"类似的SQL语句来查询一页包含的多篇文章.例如下面在JAVA+MYSQL中: public Article[] getArticleArray(int from, int size

  • 用JS让文章内容指定的关键字加亮

    用JS让文章内容指定的关键字加亮 是这样的.. 现在有这些关键字:美容,生活,购物 当在文章里头出现这些关键字,就把它加亮显示.. 文章是生成静态页面的,而这些关键字是能随时更新的,所以我想用JS来实现... 不知道怎样来实现这样的功能啊?特此求助 txt.innerHTML = txt.innerHTML.replace(/文章/gi,"文章"); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 多关键词 用JS让文章内容指定的关键字加亮 是这样的.. 现在有这些关键字:

  • php获取文章内容第一张图片的方法示例

    本文实例讲述了php获取文章内容第一张图片的方法.分享给大家供大家参考,具体如下: <?php $temp=mt_rand(1,4); $pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/"; $content = $article->Content; //文章内容 preg_match_all($pattern,$content,$m

  • asp长文章用分页符来分页显示

    需要注意的是 [ page ]需要删除中间的空格,因为与我们的后台分页重复,所以加了空格处理. 只是在文章添加时,在你想让它分页的地方加上分页符:"[ page ]"(当然这个符号你可以随便用,比如:[ page ].&&&.###.@@@--,只要它不会在文章要正常显示的地方出现就行了.) 我用了四个页面,输入页(index.asp).输入完成页(add.asp).文章列表页(view.asp).文章内容页(text.asp),前三个都是不用处理的页面,看下面

  • THINKPHP内容分页代码分享

    在使用Thinkphp开发的内容管理系统里面,很多东西都要自己开发,内容分页当然也是要自己开发的,下面是我根据查资料自己整理的方法: 1.首先是在后台编辑内容的时候需要插入分页符,不同的编辑器分页符自然也不同了 2.然后就是读取文章内容的时候,要根据分页符来把内容分割成多个数组然,这里需要传值当前是第几页,根据页数来读取分割后的数组 代码如下: 复制代码 代码如下: <php>     $arr_con=explode('_ueditor_page_break_tag_',$dy['art_c

随机推荐