PHPを使用したMultiMarkdownドキュメントからの変数(ドキュメントメタデータ)の取得

MultiMarkdown ドキュメントメタデータ here )phpを使って? 多分、私がMultiMarkdown PHPパーサーを見つけられなかったことに驚いていました。 PHP Markdown Extra MultiMarkdownはしません。

私は、MultiMarkdownのパッケージに含まれているスクリプトが、どのようにしてカスタムXSLTを定義/使用していますが、悲しいことに私の場合ではありません。

MultiMarkdown ドキュメントメタデータは次のようになります:

Title:新しいMultiMarkdownドキュメント
  著者:Fletcher T. Penney
          John Doe
  日付:2005年7月25日

自分のプロパティを使用して、出力に表示される場所を制御したいと思います。デフォルトでは、mmd2XHTMLは上記の(定義済みの)変数をタグに出力しますが、HTML本体のどこかに表示する必要があります。

ありがとう

3

2 答え

markdownファイルをメタデータで解析するには、 フロントヤムル または クレーナイ

私はマルチマークダウンとの正確な互換性についてはわかりません。

フロントヤムル

$parser = new Mni\FrontYAML\Parser();

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

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

クレーナイ

クレーナイ can parse different metadata content types like yaml and json.

$クレーナイ = new \クレーナイ\Parser(
    new \クレーナイ\Parsers\Metadata\JsonParser,
    new \クレーナイ\Parsers\Content\MarkdownParser
);

$document = $クレーナイ->parse('path/to/document.md');
$document->getRaw();
$document->getMetadata();
$document->getContent();
0
追加された

私はPHPの専門家ではありませんが、最も簡単な方法はおそらくシェルコマンドとしてマルチマークダウンバイナリを呼び出すことでしょう。

multimarkdown -e title foo.txt

このコマンドは、foo.txtのタイトルメタデータの値を出力します。

これは基本的に私がperl、Objective-C、およびシェルスクリプトで使用しているアプローチであり、私がMultiMarkdownに -e フラグを追加した理由です。

XSLTのアプローチは、MMDを使用して実際にHTMLの結果を生成する場合には効果的ですが、おそらくこの状況では有用ではありません。

あなたの必要なものをつかむためのカスタム正規表現を書くことが、あなたのもう1つの選択肢ですが、なぜホイールを再発明するのでしょうか?

0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com