PHP 文本文章分頁(yè)代碼 按標(biāo)記或長(zhǎng)度(不涉及數(shù)據(jù)庫(kù))
更新時(shí)間:2012年06月07日 13:28:21 作者:
PHP文本分頁(yè),按標(biāo)記或者長(zhǎng)度分頁(yè),非傳統(tǒng)的數(shù)據(jù)庫(kù)分頁(yè)。廢話不多說(shuō),客觀如有意可直接看代碼
實(shí)例代碼:
<?php
/**
* **********************************************************
* Read Me
* 文章分頁(yè)
*
* 分頁(yè)方式,可以按字?jǐn)?shù)分頁(yè),按換行分頁(yè),按特殊標(biāo)記分頁(yè)等
* 其實(shí)實(shí)現(xiàn)思路是一樣的,只是將其按一定規(guī)律放入一個(gè)數(shù)組
* 然后根據(jù) url 傳入的參數(shù)取得某個(gè)片段即可
* 大家完全可以寫(xiě)一個(gè)功能強(qiáng)大的函數(shù)保存起來(lái)以備不時(shí)之需
*
* 題外話:很多編輯器都有插入分頁(yè)按鈕,利用插入的代碼可顯示分頁(yè)
*
* filename: page.php
* charset: UTF-8
* create date: 2012-5-16
* **********************************************************
* @author itbdw <itbudaoweng@gmail.com>
* @copyright (C) 2011-2012 itbdw
* @link http://weibo.com/itbudaoweng
*/
header('Content-Type:text/html; charset=utf-8');
?>
<?php
$title = 'Pagination Test';
//需要分頁(yè)的數(shù)據(jù)
$data = <<<DATA
Hey, guys. I am here to test if it is working.
This pagination is very simple, isn't it?<!--pagination-->
And I tried to use different method to page it.
Can you see it?
DATA;
//當(dāng)前文章頁(yè)
$page = 0;
//初始文章長(zhǎng)度
$length = 0;
//分頁(yè)長(zhǎng)度
$perpage = 160;
//顯示在頁(yè)面的代碼
$link = '';
//分割后的數(shù)組
$strArr = array();
$page = isset($_GET['page']) ? intval($_GET['page']) : 0;
$length = strlen($data);
//按字?jǐn)?shù)分割
// $str = str_split($data, $perpage);
//按字符分割
$delimiter = "\n";
// $delimiter = '<--pagination-->';
$strArr = explode($delimiter, $data);
$strNum = count($strArr);
$content = $strArr[$page];
if ($strNum > 1) {
if ($page != 0) {
$link .= '<a href="?page=0">首頁(yè)</a>';
} else {
$link .= '<span>首頁(yè)</span>';
}
for ($n = 0; $n < $strNum; $n++) {
if ($n == $page) {
$link .= '<span>' . ($n + 1) . '</span>';
} else {
$link .= "<a href='?page={$n}'>" . ($n + 1) . "</a>";
}
}
$link .= '';
if ($page != ($strNum - 1)) {
$link .= "<a href='?page=" . ($strNum - 1) . "'>尾頁(yè)</a>";
} else {
$link .= '<span>尾頁(yè)</span>';
}
}
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<style type="text/css">
body {
font-family: '微軟雅黑';
}
.link a, span {
margin: 1px;
padding: 1px;
}
.link span {
color: #777;
}
.link a {
color: #26A2DA;
text-decoration: none;
}
</style>
<title>測(cè)試文章分頁(yè)</title>
</head>
<body>
<h1><?php echo $title; ?></h1>
<p><?php echo $content; ?></p>
<hr />
<p class="link"><?php echo $link; ?></p>
</body>
</html>
復(fù)制代碼 代碼如下:
<?php
/**
* **********************************************************
* Read Me
* 文章分頁(yè)
*
* 分頁(yè)方式,可以按字?jǐn)?shù)分頁(yè),按換行分頁(yè),按特殊標(biāo)記分頁(yè)等
* 其實(shí)實(shí)現(xiàn)思路是一樣的,只是將其按一定規(guī)律放入一個(gè)數(shù)組
* 然后根據(jù) url 傳入的參數(shù)取得某個(gè)片段即可
* 大家完全可以寫(xiě)一個(gè)功能強(qiáng)大的函數(shù)保存起來(lái)以備不時(shí)之需
*
* 題外話:很多編輯器都有插入分頁(yè)按鈕,利用插入的代碼可顯示分頁(yè)
*
* filename: page.php
* charset: UTF-8
* create date: 2012-5-16
* **********************************************************
* @author itbdw <itbudaoweng@gmail.com>
* @copyright (C) 2011-2012 itbdw
* @link http://weibo.com/itbudaoweng
*/
header('Content-Type:text/html; charset=utf-8');
?>
<?php
$title = 'Pagination Test';
//需要分頁(yè)的數(shù)據(jù)
$data = <<<DATA
Hey, guys. I am here to test if it is working.
This pagination is very simple, isn't it?<!--pagination-->
And I tried to use different method to page it.
Can you see it?
DATA;
//當(dāng)前文章頁(yè)
$page = 0;
//初始文章長(zhǎng)度
$length = 0;
//分頁(yè)長(zhǎng)度
$perpage = 160;
//顯示在頁(yè)面的代碼
$link = '';
//分割后的數(shù)組
$strArr = array();
$page = isset($_GET['page']) ? intval($_GET['page']) : 0;
$length = strlen($data);
//按字?jǐn)?shù)分割
// $str = str_split($data, $perpage);
//按字符分割
$delimiter = "\n";
// $delimiter = '<--pagination-->';
$strArr = explode($delimiter, $data);
$strNum = count($strArr);
$content = $strArr[$page];
if ($strNum > 1) {
if ($page != 0) {
$link .= '<a href="?page=0">首頁(yè)</a>';
} else {
$link .= '<span>首頁(yè)</span>';
}
for ($n = 0; $n < $strNum; $n++) {
if ($n == $page) {
$link .= '<span>' . ($n + 1) . '</span>';
} else {
$link .= "<a href='?page={$n}'>" . ($n + 1) . "</a>";
}
}
$link .= '';
if ($page != ($strNum - 1)) {
$link .= "<a href='?page=" . ($strNum - 1) . "'>尾頁(yè)</a>";
} else {
$link .= '<span>尾頁(yè)</span>';
}
}
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<style type="text/css">
body {
font-family: '微軟雅黑';
}
.link a, span {
margin: 1px;
padding: 1px;
}
.link span {
color: #777;
}
.link a {
color: #26A2DA;
text-decoration: none;
}
</style>
<title>測(cè)試文章分頁(yè)</title>
</head>
<body>
<h1><?php echo $title; ?></h1>
<p><?php echo $content; ?></p>
<hr />
<p class="link"><?php echo $link; ?></p>
</body>
</html>
您可能感興趣的文章:
- 一個(gè)可分頁(yè)的基于文本的PHP留言板源碼
- PHP讀取txt文本文件并分頁(yè)顯示的方法
- PHP封裝分頁(yè)函數(shù)實(shí)現(xiàn)文本分頁(yè)和數(shù)字分頁(yè)
- PHP 讀取文本文件內(nèi)容并分頁(yè)顯示
- PHP函數(shù)實(shí)現(xiàn)分頁(yè)含文本分頁(yè)和數(shù)字分頁(yè)
- 一個(gè)典型的PHP分頁(yè)實(shí)例代碼分享
- 精美漂亮的php分頁(yè)類代碼
- php+mysql分頁(yè)代碼詳解
- PHP通用分頁(yè)類page.php[仿google分頁(yè)]
- php,ajax實(shí)現(xiàn)分頁(yè)
- PHP實(shí)現(xiàn)的超長(zhǎng)文本分頁(yè)顯示功能示例
相關(guān)文章
PHP導(dǎo)出數(shù)據(jù)超時(shí)的優(yōu)化建議
當(dāng)數(shù)據(jù)訪問(wèn)次數(shù)過(guò)多時(shí),建議使用redis緩存一些固定數(shù)據(jù),減少mysql查詢次數(shù)。今天小編給大家分享PHP導(dǎo)出數(shù)據(jù)超時(shí)的優(yōu)化建議,感興趣的朋友一起看看吧2021-07-07
Laravel框架實(shí)現(xiàn)的rbac權(quán)限管理操作示例
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)的rbac權(quán)限管理操作,結(jié)合實(shí)例形式分析了Laravel框架權(quán)限控制rbac相關(guān)數(shù)據(jù)庫(kù)創(chuàng)建、讀寫(xiě)及權(quán)限判斷等操作技巧,需要的朋友可以參考下2019-01-01
VSCode+PHPstudy配置PHP開(kāi)發(fā)環(huán)境的步驟詳解
這篇文章主要介紹了VSCode+PHPstudy配置PHP開(kāi)發(fā)環(huán)境,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
PHP判斷json格式是否正確的實(shí)現(xiàn)代碼
本文給大家分享PHP判斷json格式是否正確的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-09-09
yii實(shí)現(xiàn)級(jí)聯(lián)下拉菜單的方法
這篇文章主要介紹了yii實(shí)現(xiàn)級(jí)聯(lián)下拉菜單的方法,需要的朋友可以參考下2014-07-07
Laravel 模型關(guān)聯(lián)基礎(chǔ)教程詳解
這篇文章主要介紹了Laravel 模型關(guān)聯(lián)基礎(chǔ)教程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

