limitoco/table-contents

目录生成

2.1.0 2017-05-05 20:09 UTC

This package is not auto-updated.

Last update: 2024-09-28 06:49:18 UTC


README

License GitHub version Build Status

关于

用于生成文本目录的包。

例如,你有以下文本

<h1>Header first level</h1>
Some text here
<h2>Header second level</h2>
Some text here
<h4>Header fourth level</h4>
Some text here
<h3>Header third level</h3>
Some text here

目录将是

 - Header first level
    - Header second level
            - Header fourth level
         - Header third level

目录支持多严格层次嵌套和自由嵌套,即可以是:1-2-4-3-6-2-4-1-3-7 或 1-2-3-2-4-1-2-3-4-3-5-2-3。

目录只与1-10级(h1 - h10)的<h*>标签一起工作。

入门

要求

PHP 7.1

安装

  1. 您可以使用composer安装此包。
"lutdev/table-contents": "^2.1"

或者在项目根目录下运行此命令安装它

composer require lutdev/table-contents
  1. PHP类
use Lutdev\TOC\TableContents

或者您可以通过require包含下载的包

用法

$tableContents = new TableContents();
//return string table contents
$tableContents->tableContents($text);

目录具有以下结构

"0": {
    "title": "Title",
    "link": "link"
},
"1": {
    "title": "Title",
    "link": "link"
},
"2": {
    "title": "Title",
    "link": "link"
    "subItems": {
        "3": {
            "title": "Title",
            "link": "link"
            "subItems": {
                "1": {
                    "subItems": {
                        "2": {
                            "subItems": {
                                "4": {
                                    "title": "Title",
                                    "link": "link"
                                },
                            }
                        }
                    }
                }
            }
        }
    }
}
  • (0,1,2,3,4)- 标题索引号。 (1,2子项)- 中间空标题;
  • 标题 - 内容项的标题;
  • 链接 - 锚点链接。如果文本有多个相同的标题,它们的链接将是<link>-<number>(例如:link-1,link-2,link-3)。
//Add ID attribute to the headers. Need for anchors.
$tableContents->headerLinks($text)

反馈

谢谢!如果您有建议或发现错误/错误,请告诉我。

许可证

MIT