使用PHP从多标记文档检索变量(文档元数据)

使用PHP从多标记文档检索变量(文档元数据),php,markdown,multimarkdown,Php,Markdown,Multimarkdown,如何使用php检索多标记文档元数据? 我很惊讶,我找不到一个多重标记php解析器,它不做多重标记 我担心,这种多重标记的包装为那些知道如何定义/使用自定义XSLT的人提供了所有答案,但遗憾的是,这不是我的情况 多标记文档元数据如下所示: 标题:一个新的多重降价文档 作者:Fletcher T.Penney 无名氏 日期:2005年7月25日 我想使用我自己的属性和控制它们在输出中的显示位置。默认情况下,mmd2XHTML在标记中输出上述(预定义)变量,但我需要在HTML主体的某个地方显示它们 谢

如何使用php检索多标记文档元数据? 我很惊讶,我找不到一个多重标记php解析器,它不做多重标记

我担心,这种多重标记的包装为那些知道如何定义/使用自定义XSLT的人提供了所有答案,但遗憾的是,这不是我的情况

多标记文档元数据如下所示:

标题:一个新的多重降价文档
作者:Fletcher T.Penney
无名氏
日期:2005年7月25日

我想使用我自己的属性和控制它们在输出中的显示位置。默认情况下,mmd2XHTML在标记中输出上述(预定义)变量,但我需要在HTML主体的某个地方显示它们


谢谢

我不是php专家,但最简单的方法可能是调用多标记二进制文件作为shell命令,例如

multimarkdown -e title foo.txt
此命令将输出foo.txt的标题元数据的值

这基本上就是我在perl、Objective-C和shell脚本中使用的方法,也是我首先在MultiMarkdown中添加
-e
标志的原因

如果您使用MMD实际生成HTML结果,那么XSLT方法非常有用,但在这种情况下可能没有那么有用


您的另一个选择是编写自定义正则表达式以获取所需内容,但为什么要重新发明轮子呢?

用于使用元数据解析标记文件,或者

我不确定是否与多重降价完全兼容

前yaml 库雷奈 kurenai可以解析不同的元数据内容类型,如yaml和json

$kurenai = new \Kurenai\Parser(
    new \Kurenai\Parsers\Metadata\JsonParser,
    new \Kurenai\Parsers\Content\MarkdownParser
);

$document = $kurenai->parse('path/to/document.md');
$document->getRaw();
$document->getMetadata();
$document->getContent();
$kurenai = new \Kurenai\Parser(
    new \Kurenai\Parsers\Metadata\JsonParser,
    new \Kurenai\Parsers\Content\MarkdownParser
);

$document = $kurenai->parse('path/to/document.md');
$document->getRaw();
$document->getMetadata();
$document->getContent();