php ckeditor编辑器文章分页实现方法

Fckeditor编辑器有一个插入分页符的功能按钮,点击该按钮,将会在内容区插入一条分页符,如下图红色框标注:

分页符对应生成的html代码是:

 代码如下 复制代码

<div style="page-break-after: always"><span style="display: none"> </span></div>

我们实际应用情况是这样的:后台通过Fckeditor编辑器发布的内容,提交到数据库,前台通过PHP链接数据库获取发布的内容,然后将长内容进行分割,并进行分页。

Fckeditor是一款所见即所得的WEB编辑器,它常被用作后台编辑发布信息。当要发布的内容很多很长时,就要考虑前台显示的分页效果了,本文将使用jQuery,并结合PHP,将Fckeditor发布的内容进行分页,并且实现无刷新切换页面。

关于Fckeditor使用,笔者不想多言。本文假设你是WEB开发人员,掌握了jQuery和PHP相关知识,并且熟知Fckeditor的配置和使用。

Fckeditor编辑器有一个插入分页符的功能按钮,点击该按钮,将会在内容区插入一条分页符,如下图红色框标注:

文章分页实现方法-ckeditor编辑器">

分页符对应生成的html代码是:

 代码如下 复制代码

<div style="page-break-after: always"><span style="display: none"> </span></div> 

我们实际应用情况是这样的:后台通过Fckeditor编辑器发布的内容,提交到数据库,前台通过PHP链接数据库获取发布的内容,然后将长内容进行分割,并进行分页。

 

PHP

PHP将内容分割的方法如下:

 代码如下 复制代码

function pageBreak($content){ 
    $content  = $content; 
    $pattern  = "/<div style="page-break-after: always"><span style="display: none">  
</span></div>/"; 
    $strSplit = preg_split($pattern, $content, -1, PREG_SPLIT_NO_EMPTY); 
    $count    = count($strSplit); 
    $outStr   = ""; 
    $i        = 1; 
 
    if ($count > 1 ) { 
        $outStr   = "<div id='page_break'>"; 
        foreach($strSplit as $value) { 
            if ($i <= 1) { 
                $outStr .= "<div id='page_$i'>$value</div>"; 
            } else { 
                $outStr .= "<div id='page_$i' class='collapse'>$value</div>"; 
            } 
            $i++; 
        } 
 
        $outStr .= "<div class='num'>"; 
        for ($i = 1; $i <= $count; $i++) { 
            $outStr .= "<li>$i</li>"; 
        } 
        $outStr .= "</div></div>"; 
        return $outStr; 
    } else { 
        return $content; 
    } 

可以看出啦,上述代码中的$pattern就是Fckeditor编辑器生成的分页符代码,然后PHP通过preg_split()函数比对内容,以分隔符为分界点,将内容分割为多个page_,并且生成分页导航按钮。使用时只需调用pageBreak($content)即可。

CSS

我们通过CSS来呈现分页按钮的风格,当然你可以修改这些CSS,定制你想要的外观。

 代码如下 复制代码

#page_break {} 
#page_break .collapse {display: none;} 
#page_break .num {padding: 10px 0;text-align: center;} 
#page_break .num li{display: inline; margin: 0 2px;padding: 3px 5px;border:1px solid #abcee4; 
background-color: #fff;color: #369;text-align: center;cursor: pointer;overflow: hidden;} 
#page_break .num li.on{background-color: #369;color: #fff;font-weight: bold;} 

jQuery

 代码如下 复制代码
$(function(){ 
    $('#page_break .num li:first').addClass('on'); 
 
    $('#page_break .num li').click(function(){ 
        //隐藏所有页内容 
        $("#page_break div[id^='page_']").hide(); 
 
        //显示当前页内容。 
        if ($(this).hasClass('on')) { 
            $('#page_break #page_' + $(this).text()).show(); 
        } else { 
            $('#page_break .num li').removeClass('on'); 
            $(this).addClass('on'); 
            $('#page_break #page_' + $(this).text()).fadeIn('normal'); 
        } 
    }); 
}); 

我们使用jQuery将分页导航按钮的第一页设置为当前状态,然后通过单击分页按钮,切换按钮的状态,并且显示对应页的内容

时间: 2024-11-10 00:37:21

php ckeditor编辑器文章分页实现方法的相关文章

关于长文章分页的方法

问题描述 谁有插入分页符的文章分页代码 解决方案 解决方案二:string[]PageContent=Regex.Split(BookContent_Content,"~page~",RegexOptions.IgnoreCase);ltlContent.Text="<p>"+PageContent[page-1].ToString()+"</p>";解决方案三:有没有比较全点的代码解决方案四:这个和普通分页没什么区别的吧

Wordpress实现单篇文章分页显示方法

1. 找到wp-includes/js/quicktags.js ,在其中找到下面这个javascript代码:  代码如下 复制代码 edButtons[edButtons.length]=new edButton("ed_more","more","<!–more–>","","t",-1); 在这个代码的后面加上如下代码:  代码如下 复制代码 edButtons[edButtons.le

asp.net使用FCK编辑器中的分页符实现长文章分页功能_实用技巧

本文实例讲述了asp.net使用FCK编辑器中的分页符实现长文章分页功能.分享给大家供大家参考,具体如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SplitContent.aspx.cs" Inherits="SplitContent" %> <%@ Register Assembly="FredCK.FCKeditorV2&

dedecms ckeditor编辑器添加链接默认新窗口打开的修改方法_网页编辑器

DEDECMS文章页加入的链接都默认不是在新窗口打开.百度一下,都是关于FCKeditor编辑器的.dedecmd v5.7 默认ckeditor编辑器.写下来希望能帮到那些不会改的同学 在清理下浏览器缓存,就可以了.

jQuery+FCK编辑器+PHP实现文章分页代码

在fck中插入分页符如下图 文章分页代码-jquery 长文章分页"> 分页代码   function pagebreak($content) { $content = $content; $pattern = "/<div style="page-break-after: always"><span style="display: none"> </span></div>/"; $

基于行数预测的长文章分页

说句老实话,我是个不大习惯写博的主,而且本次写博目的是想过来发个小广告,哈哈,都是园子里的兄弟不要拿砖头扔我 园子里的兄弟时间都是很宝贵的.为了大家消消火,少让大家过来扔砖头.所以就把最近项目里碰到的一个长文章自动分页的问题跟大家分享下.说起长文章分页也是属于老生常谈了,网上搜下可以找到一箩筐.目前网上流传的代码大多是基于对文章中字符的多少来进行,这种方法对于图片等这些标记就束手无策了. 由于目前文章上传大多采用HTML编辑器,使得里面参杂的HTML代码严重影响到场文章分页的效果.我现在想说的是

长文章分页的经验分享

在发布文章时,在你想让它分页的地方加上预设的分页符. 实现步骤: 一.我后台的编辑器用的是FCK,怎样让它具备这个功能呢?最简单的办法,就是把一个不常用的按钮替换成"插入分页符"按钮.(在FCK文件夹"fckeditor\editor\js"里有两个文件,fckeditorcode_gecko.js和fckeditorcode_ie.js,给它们动下手术就OK了,具体不说了,手头没源文件,我不知道具体的代码,有兴趣的朋友PM我)我预设了"<div&g

长文章分页显示思路及页码条显示新思路

分页|显示 这两天利用空闲时间编程序,琢摩了一下关于长文章分页以及页码条的简单实现方法. 思路是VBSCRIPT的. CurrentPage=Request.QueryString("page")'CurrentPage是当前页的意思 PageCount = Int(Len(Content)/SIZE) + 1'Content是长文章内容'SIZE是每一页显示字数'PageCount是最后一页的页码 START=Cint((CurrentPage-1)*SIZE+1)'START是每一

为ckeditor编辑器修改添加一键排版功能

  使用PHPCMS V9的朋友都知道,V9内置使用ckeditor编辑器,但是默认编辑器的排版功能不是很强大,下面绿茶小编教大家修改一下编辑器,改动几个地方,让Ckeditor编辑更加实用一些. 1.批量去除超链接: 打开 statics/js/ckeditor/ckeditor.js 找到: $.execCommand('unlink',false,null); 修改为: $.execCommand('unlink',false,true); 2.上传图片自动添加ALT参数 修改 stati