程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php KindEditor文章內分頁的實例方法

php KindEditor文章內分頁的實例方法

編輯:關於PHP編程

我們這裡介紹php與KindEditor編輯器使用時如何利用KindEditor編輯器的分頁功能實現文章內容分頁,KindEditor編輯器在我們點擊分頁時會插入


代碼,我們只要以它為分切符,就可以了,具體分頁方法如下。

我的理解核心代碼

 代碼如下 復制代碼

$news = array(
'title'=>'first',
'content' =>'<p>this is paragraph 1</p>'
 .'<p>this is paragraph 2</p>'
 .'Now i make a page end. [--page--] page 2 start~~~~~'
);

$newsModel->insert($news);
=================================

//news_detail.php?p=2 :

$news_one = $newsModel->get(1);

$content_pages = explode('[--page--]',$news_one['content']);

$cur_page = min( max(1,intval($_GET['p'])), count($content_pages) );

$news_one['content'] = $content_pages[$cur_page-1];

return render('news_detail.html', $news_one);

我們知道在很多在線編輯器裡都有插入分頁的功能,像在KindEditor中點擊插入分頁編輯器會在光標的地方插入如下的代碼:

 代碼如下 復制代碼 <hr style="page-break-after:always;" class="ke-pagebreak" />

而UEditor則會在光標處加入:

_ueditor_page _break_tag__ueditor_page和_break_tag_之間是沒有空格的,由於本網站也是用的ueditor使用的分頁符是break_tag,所以上面加了空格避免影響

下面我以KindEditor為例,貼上我的代碼:

 代碼如下 復制代碼

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<?php
$content=<<<str
        <p>上海頂想信息科技有限公司(TOPThink Inc.)是國內領先的WEB應用和服務提供商致力於WEB應用平台、產品和應用的研發和服務,為企事業單位提供基於WEB的應用開發快速解決方案和產品。公司成立於2008年9月,是一家擁有自主知識產權的高新企業。</p>
        <hr />
        <p>公司長期專注於WEB應用框架、應用平台和企業解決方案的研究,公司的核心技術框架ThinkPHP由創始人劉晨於2006年創立,經過6年多的精心打造和發展,具有廣泛的用戶基礎和良好的業內口碑,已經成長為國內領先和最具影響力的WEB應用開發框架,國外同比也具有相當大的優勢。其應用領域分布於各個行業,在門戶、社區和電子商務領域有著非常良好支持以及拓展,大小案例不下千家,在安全、效率、負載上都有很大優勢,已經成為WEB應用的快速開發解決方案和最佳實踐!</p>
                <hr />
        <p>
        公司總部位於上海,由從事互聯網和用戶體驗研究達10年的資深專家領軍,擁有一批專業的策劃、設計和技術團隊以及廣泛的社區技術力量。公司長期以來憑借業內的影響力、良好的客戶和合作關系,邀請了眾多安全和項目專家作為顧問,有力得保證了客戶項目的開發和實施。公司還擁有一支資深用戶體驗和設計研究隊伍,針對不同用戶量身定做用戶體驗流程,有著良好的產品設計和設計概念。<br/>2009年獲得上海市重大文藝創作項目選題推薦。</p>
str;

$content = preg_replace("'<hr(.*)/>'iUs", "<hr>", $content);
$content = explode("<hr>", $content);
$count = count($content);
$p = empty($_GET['page']) ? 1 : (int) $_GET[page];
$p = $p == 0 ? 1 : $p;
$p = $p > $count ? $count : $p;
$p--;
$content = $content[$p];
$p++;
if ($count > 1) {
    $page = '<a class="first" href="?page=1">首頁</a>';
    for ($i = 1; $i <= $count; $i++) {
        $page.=$i == $p ? '【<a class="on" style="color:red;" href="javascript:void(0)">' . $i . '</a>】' : '【<a href="?page=' . $i . '">' . $i . '</a>】';
    }
    $page.='<a class="end" href="?page=' . $count . '">尾頁</a>';

}
echo "<h1>上海頂想信息科技有限公司</h1>";
echo $content;

echo "<div>{$page}</div>";

?>
</body>
</html>

按照上面的代碼你就可以實現文章分頁了,效果如下圖:

如果你用的是UEditor編輯器分頁符默認是:_ueditor_page _break_tag_ (你可以在ueditor.config.js中修改pageBreakTag的設定)則可以將上面的代碼稍作修改即可:

 代碼如下 復制代碼

$content = preg_replace("'<hr(.*)/>'iUs", "<hr>", $content);
$content = explode("<hr>", $content);

改為:

$content = explode("_ueditor_page _break_tag_", $content);

這樣就可以了,當然你可以自定義任何分頁符

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved