hiyokko2 / hiyokko2_text_parser
我的私人文本解析器。
v1.0.2
2019-03-30 13:07 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>