紅穆ノート
レコメンド プログラムノート Typechoのページ分割スタイルの変更
プログラムノート Typecho

Typechoのページ分割スタイルの変更

Typechoのページ分割スタイルの変更

大人の皆様、時代は変わりました!現在、Typechoは最も理想的な解決策となっています。というのも、Baiduは固定化された思考方式のコードしか検出できませんからです。
実際生成されたHTMLコードは、あまりにもシンプルで圧倒的です。

完全なカスタマイズが可能で、`li`要素や`a`要素にクラスを付与したり、「前ページ」「次ページ」要素にクラスを付与したり、Typechoが標準で提供する「more」用`li`タグを削除したりできます。さらに、内部のコンテンツに任意のテキストを追加することも可能です。

ページ分割コード

それでは、ソースコードを公開します:

<nav class="my-5">
    <?php
      ob_start(); 
      $this->pageNav('&laquo;','&raquo;', 1, '', array('wrapTag' => 'ul', 'wrapClass' => 'pagination pagination-rounded mb-0 justify-content-center', 'itemTag' => 'li', 'textTag' => 'span', 'currentClass' => 'active', 'prevClass' => 'prev', 'nextClass' => 'next'));
      $content = ob_get_contents();
      ob_end_clean();
      $content = preg_replace("/<li><span>(.*?)<\/span><\/li>/sm", '', $content);
      $content = preg_replace("/<li [class=\"active\"]+>(.*?)<\/li>/sm", '<li class="page-item active">$1</li>', $content);
      $content = preg_replace("/<li [class=\"prev\"]+>(.*?)<\/li>/sm", '<li class="page-item">$1</li>', $content);
      $content = preg_replace("/<li [class=\"next\"]+>(.*?)<\/li>/sm", '<li class="page-item">$1</li>', $content);
      $content = preg_replace("/<li>(.*?)<\/li>/sm", '<li class="page-item">$1</li>', $content);
      $content = preg_replace("/<a href=\"(.*?)\">(.*?)<\/a>/sm", '<a class="page-link" href="$1">$2</a>', $content);
      echo $content;
     ?>
  </nav>

主な方法は「正規表現による修正」です。一度の操作で永久的な変更が可能であり、生成されたコンテンツを直接変更します。これにより、JSで個別に照合・追加・調整する必要がなく、あなたの想像力を自由に発揮できます。

常用正規表現

以下に、正規表現におけるいくつかのワイルドカードを示します:

よく用いられる特殊文字

コード説明
。改行記号を除く任意の文字と一致する
w:文字、数字、または下線を指定します。
s:任意の空白文字をマッチングします。
d:一致する数字
b 単語の開始部または終了部と一致させる
^ 文字列の開始位置
$:文字列の末尾を指定

一般的な制限記号

コード/構文説明

  • 0回以上繰り返す
  • 1回または複数回繰り返す
    ? 0回または1回繰り返す

{n} を n 回繰り返す
{n} を n 回またはそれ以上繰り返す
{n, m} を n 回から m 回まで繰り返す

よく用いられる反義語

代码/语法    说明
W    匹配任意不是字母,数字,下划线,汉字的字符
S    匹配任意不是空白符的字符
D    匹配任意非数字的字符
B    匹配不是单词开头或结束的位置
[^x]    匹配除了x以外的任意字符
[^aeiou]    匹配除了aeiou这几个字母以外的任意字符

一般的なモード修飾子

代码/语法    说明
i    表示在进行匹配的时候不区分大小写
m    多行识别.即将字符串视为多行,不管是那行都能匹配
s    将字符串视为单行,转义回车换行符作为普通字符
g    表示全局匹配
x    将模式中的空白忽略
A    强制从目标字符串开头匹配
D    强制尾部无任何内容.若使用$限制结尾字符,则不允许结尾有换行
U    禁止贪婪匹配,只匹配最近的一个字符串(不重复匹配)
e    配合PHP函数preg_replace()使用,可以把匹配来的字符串当作正则表达式执行

ページ分割出力コードの解説

なぜこのような動作になるのかを理解するには、まず `$this->pageNav()` というコードが何を実行しているのかを把握する必要があります。このコードは多くのユーザーが自作の機能として使用しています。ここでは、私がよく使用している説明を記載します:

page翻页
wrapTag 外层包裹标签名, 默认ol
wrapClass 外层包裹类名
itemTag 内层标签名, 默认li
textTag 直接输出文字的标签名
currentClass 当前聚焦类名
prevClass 上一页类名
nextClass 下一页类名

基本的に問題ありません。理解力さえ十分であれば、ソースコードからどのようにカスタマイズするかを簡単に発見できるはずです。

微信赞赏

WeChat

支付宝赞赏

Alipay

✍️ クリエイター: 紅穆

ウェブサイト管理者 · ご覧いただきありがとうございます!さらに多くの魅力的なコンテンツをお楽しみいただけますよう、引き続きご支援をお願いいたします。

著者プロフィール プロフィールを見る →

関連記事

リソースサイト – Typecho001テンプレート

リソースサイト – Typecho001テンプレート プログラムノート Typecho

typecho001テンプレート:このテンプレートファイルフォルダ名を変更しないでください。フォルダ名:typecho001。1.4:記事ページにおけるJS出力に関する問題を修正。1.3:プラグイン未インストール時のエラーメッセージを修正。リストページのコード出力を最適化。1.2:コメント機能を修正。カスタムホームページタイトルの追加。1.1:コメント返信機能の不具合を修正。ホームページに個別のタイトル設定機能を追加。ウェブサイト用 favicon.ico アイコンの追加。その他…
👁 207
Typecho記事ページのコメントスタイルの変更

Typecho記事ページのコメントスタイルの変更 プログラムノート Typecho

Typechoを用いたテンプレート開発を行う場合、デフォルトのコメントスタイルは見た目が芳しくありません。そのため、コメントを再出力するか、またはスタイル設定を行う必要があります。デフォルトのコメントテンプレートファイルのパスは `comments.php` です。主に使用される関連変数は `<?php $comments ?>` です。`gravatar('40', '');` —— ここでは、画像サイズ(40px)とその他のパラメータが指定されています。
👁 405
Typechoにおけるデータベースの「挿入・削除・更新・検索」操作用API

Typechoにおけるデータベースの「挿入・削除・更新・検索」操作用API プログラムノート Typecho

Typechoのデータベースは、非常に使いやすいAPIを提供しており、ネイティブSQL記法とほとんど違いありません。また、SQL注入などの一般的なSQL関連のセキュリティ問題も適切に処理しています。本記事では、実用的な視点から、Typechoでデータベースを操作する際のよくあるシナリオおよび関連するAPIの使い方を紹介します。テーブルの作成と削除:Typechoのプラグイン開発においては、自作のテーブルを作成することがよくあります。前述の通り、Typecho_…
👁 564
Typechoで人気のコメント記事や最新記事を取得する方法のまとめ

Typechoで人気のコメント記事や最新記事を取得する方法のまとめ プログラムノート Typecho

Typecho記事を呼び出す:Themeを設計する際、サイドバーで「人気記事」または「最新記事」を表示する必要がある場合があります。このような場合、指定された位置でスクリプトを用いて直接記事を呼び出せます。本記事では、この記事呼び出し方法を整理しており、今後、必要に応じたテンプレートで直接使用できるようにしています。実際、Themeの設計はそれほど複雑ではありません。静的テンプレートで構成を終えれば、そのまま記事を呼び出せます。「最新記事を呼び出す」<?php $t…
👁 307
Typechoで分類された記事リストを呼び出します

Typechoで分類された記事リストを呼び出します プログラムノート Typecho

`pageSize` の後ろの数字は呼び出される記事数を表します;`mid` の後ろの数字は呼び出されるカテゴリIDを表します。ヒント:TypechoのカテゴリディレクトリIDを取得する方法は、マウスを該当のカテゴリ名の上に移動させることで、ブラウザのステータスバーに表示される `mid=` の後ろの数字がそのカテゴリディレクトリIDとなります。現在のTypechoテーマテンプレートを編集し、呼び出したいカテゴリディレクトリの位置に以下のコードを追加してください。方法1:`widget`…
👁 368
Typechoのウィジェット

Typechoのウィジェット プログラムノート Typecho

通过Typecho的Widget_Options,可以方便地获取Typecho的系统信息,或者方便地获取相关配置、资源路径等。这里列出常用的Widget_Options函数和用法,方便各位筒子方便查阅。通过Widget_Options获取路径信息获取内置URL通过这类api,可以获取TE内置的一些特…
👁 196

おすすめ読書

PHPによるリモートファイルダウンロードと指定ディレクトリへの保存関数

PHPによるリモートファイルダウンロードと指定ディレクトリへの保存関数 言語ノート PHP

PHPの組み込み関数 `file_put_contents` を使用することで、ファイルをリモートからダウンロードし、指定されたディレクトリに保存することができます。以下は、`file_put_contents` 関数を使用したサンプルコードです:`function downloadFile($url, $path) { // ファイル内容を取得 $content = file_get…`
👁 316
emlogでは、記事を編集する際に自動的に保存されます。

emlogでは、記事を編集する際に自動的に保存されます。 プログラムノート emlog

この「自動保存」機能とは、既に公開済みの記事を編集する際に自動的に保存される機能を指します。これにより、不要なIDや下書きが生成されることはありません!「自動保存」ボタンをクリックすると、ページが自動的に送信・保存され、編集作業に影響しません。メリットは、いつでも記事を保存できる点です。もし電源切れやインターネット接続中断により保存が行われなかった場合、失われた内容を追うのは非常に困難かもしれません!では、チュートリアルを開始します!第1段階:`/admin/views/artic…` を開いてください。
👁 251
(適応型スマートフォン向け)契約書サンプルサイト用PBootCMSテンプレート – 契約書テンプレートサイトのソースコードダウンロード(0242)

(適応型スマートフォン向け)契約書サンプルサイト用PBootCMSテンプレート – 契約書テンプレートサイトのソースコードダウンロード(0242) 実用収集 pbootcmsテンプレート

モバイル端末向けに適応可能な契約書テンプレートおよび契約書用PbootCMSウェブサイトのテンプレートです。デザインはシンプルで実用性に優れ、各種契約書テンプレートや法的文書のサンプルのダウンロード・共有に最適です。法律情報サイトや文書共有プラットフォームにおいて、ユーザーのトラフィック獲得に貢献します。テンプレートの表示、インストール手順、およびサイト管理画面:/admin.php、ユーザー名:admin、パスワード:admin、解凍用パスワード:www.4s5.cn、関連文書…
👁 44