lutdev / table-contents
目录生成
3.0.0
2024-06-05 22:33 UTC
Requires
- php: ^8.2
Requires (Dev)
- phpunit/phpunit: ^10.5
README
关于
用于生成文本目录的软件包。
例如,你有以下文本
<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 8.2
安装
- 您可以使用 composer 安装此软件包。
"lutdev/table-contents": "^3.0"
或者在项目根目录下运行以下命令安装
composer require lutdev/table-contents
- 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 子项)- 中间空标题;
- 标题 - 内容项的标题;
- 链接 - 锚点链接。如果文本有多个相同标题,则链接将命名为
<链接>-<数字>
(例如:链接-1,链接-2,链接-3)。
//Add ID attribute to the headers. Need for anchors. $tableContents->headerLinks($text)
反馈
谢谢!如果您有建议或发现错误/错误,请告诉我。
许可证
MIT