LoginSignup
1
1

More than 3 years have passed since last update.

cebe/markdownで改行が<br>に変換されないのに対処する

Last updated at Posted at 2021-04-13

対処したい問題

phpのシステムにマークダウンパーサを組み込むにあたり、cebe/markdownは有力な選択肢のひとつです。
しかし普通にパースしただけでは改行コードが<br>に変換されないため、こちらの期待する見た目になってくれません。一応、スペースを連続で2つ挿入すると<br>コードに変換されるため改行は実現できるのですが、直感に反した挙動でありユーザフレンドリーとは言えません。
そこでこの記事では、cebe/markdownにおいて改行コードを<br>に変換させる方法を記します。

※公式ドキュメントを読めば記述があるのですが、日本語での情報が見当たらなかったためこのような記事にしました

スクリーンショット 2021-04-13 20.15.15.png
例)期待に反する見た目。本文が適切に改行されていない

対処方法

結論となるコードを先に示します。

sample.php
$parser = new GithubMarkdown(); // パーサを生成
$parser->enableNewlines = true; // 改行コードを<br>に変換する設定を有効に
$parsedText = $parser->parse($markdownText); // パースを実施

スクリーンショット 2021-04-13 20.14.04.png
例)期待した通りの見た目。本文が適切に改行されている

まず「改行コードを<br>に変換する」を実現するためには(cebe/markdownには他の選択肢もありますが)GithubMarkdownである必要があります。
パーサのインスタンスを生成後、$parser->enableNewlines = true;とすることで改行を<br>に変換する設定を有効にします。
あとは通常とおりにパースを実施するだけです。

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1