首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP从MultiMarkdown文档中检索变量(文档元数据)

用PHP从MultiMarkdown文档中检索变量(文档元数据)
EN

Stack Overflow用户
提问于 2011-12-19 02:36:58
回答 2查看 1.5K关注 0票数 3

如何使用php检索MultiMarkdown 文档元数据(定义为这里)?我很惊讶没有找到一个MultiMarkdown php解析器,PHP标记额外没有做MultiMarkdown。

我担心MultiMarkdown附带的剧本为那些知道如何定义/使用自定义XSLT的人提供了所有答案,但遗憾的是,这不是我的情况。

MultiMarkdown文档元数据如下所示:

标题:一个新的MultiMarkdown文档 作者: Fletcher T. Penney 无名氏 日期:二零零五年七月二十五日

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

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-05-17 12:08:00

我不是php方面的专家,但最简单的方法可能是以shell命令的形式调用multimarkdown二进制文件。

代码语言:javascript
复制
multimarkdown -e title foo.txt

此命令将输出foo.txt的标题元数据的值。

这基本上是我在perl、Objective和shell脚本中使用的方法,也是我开始将-e标志添加到MultiMarkdown中的原因。

如果使用MMD实际生成HTML结果,XSLT方法是很好的,但在这种情况下可能没有那么有用。

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

票数 0
EN

Stack Overflow用户

发布于 2017-04-29 16:25:12

要用元数据解析标记文件,可以使用前部yaml库勒奈

我不确定是否与多重标记完全兼容。

前部yaml

代码语言:javascript
复制
$parser = new Mni\FrontYAML\Parser();

$document = $parser->parse($str);

$yaml = $document->getYAML();
$html = $document->getContent();

库勒奈

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

代码语言:javascript
复制
$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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8556576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档