hiyokko2/hiyokko2_text_parser

我的私人文本解析器。

v1.0.2 2019-03-30 13:07 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:17 UTC


README

这是一个个人使用的自定义Markdown解析器。

安装方法

composer require hiyokko2/hiyokko2_text_parser

使用方法

require_once "vendor/autoload.php";

$markdown = <<<EOF
#title(このライブラリの使い方)
#cat(プログラミング,PHP)
#thumb(/images/programming.jpg)
#pickup(100)

*見出し
このライブラリは・・・
EOF;

$parsed = Hiyokko2\TextParser::parse($markdown);

$parsed变量中包含以下数据结构。

Array
(
    [title] => このライブラリの使い方
    [thumbnail] => /images/programming.jpg
    [pickup] => 100
    [content_no_tag] => 見出しこのライブラリは・・・
    [description] => 見出しこのライブラリは・・・
    [html] => <h2>見出し</h2>このライブラリは・・・<br>
    [categories] => Array
        (
            [0] => プログラミング
            [1] => PHP
        )

)

自定义Markdown语法

元数据

以#开头的行是元数据,不会转换为HTML。例如:

#title(このライブラリの使い方)
#cat(プログラミング,PHP)

将变为空的HTML。

所有元数据的语法如下。※#title是必需的

#title(記事タイトル) 
#cat(カテゴリ1,カテゴリ2,カテゴリ3)
#thumb(/images/programming.jpg)
#pickup(50)

顺便说一句,解析后可以得到以下数据结构。

Array
(
    [title] => 記事タイトル
    [thumbnail] => /images/programming.jpg
    [pickup] => 50
    [content_no_tag] => 
    [description] => 
    [html] => 
    [categories] => Array
        (
            [0] => カテゴリ1
            [1] => カテゴリ2
            [2] => カテゴリ3
        )

)

标题

*aaa
**bbb
***ccc

标题的转换方式如下。*被转换为h2是因为,基本上#title中指定的标题应该是h1。

<h2>aaa</h2>
<h3>bbb</h3>
<h4>ccc</h4>

无序列表(ul)

#ul
aaa
bbb
ccc
#ul_end

的转换方式如下。

<ul>
    <li>aaa</li>
    <li>bbb</li>
    <li>ccc</li>
</ul>

有序列表(ol)

#ol
aaa
bbb
ccc
#ol_end

的转换方式如下。

<ol>
    <li>aaa</li>
    <li>bbb</li>
    <li>ccc</li>
</ol>

空白链接

blank(リンク表示名,https://aaa.com)

的转换方式如下。

<a href="https://aaa.com" target="_blank">リンク表示名</a>

非空白链接

link(リンク表示名,https://aaa.com)

的转换方式如下。

<a href="https://aaa.com">リンク表示名</a>

粗体

b(太字にしたい文字列)

的转换方式如下。

<b>太字にしたい文字列</b>