Deep Insider の Tutor コーナー
>>  Deep Insider は本サイトからスピンオフした姉妹サイトです。よろしく! 
書籍転載:PHPライブラリ&サンプル実践活用[厳選100]

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]

markdown形式のテキストをHTMLに変換する(PHP Markdown)

2014年9月9日

Markdown形式のファイルをHTML形式のコードに変換するためのライブラリ「PHP Markdown」の基本的な使い方を説明する。書籍転載の14本目(書籍内の番号は「38」)。

WINGSプロジェクト 小林 昌弘
  • このエントリーをはてなブックマークに追加

書籍転載について

 本コーナーは、技術評論社発行の書籍『PHPライブラリ&サンプル実践活用[厳選100]』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。

 

 『PHPライブラリ&サンプル実践活用[厳選100]』の詳細や購入は技術評論社のサイト目次ページをご覧ください。

ご注意

 本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどはBuild Insiderのそれとは一致しません。あらかじめご了承ください。

 PHP MarkdownはMarkdown形式のファイルをHTMLに変換するためのライブラリです。Markdown形式は簡易的なフォーマットのために覚えることが少なく、使いやすい形式のためGitHubなど広く使われております。

インストール

 公式サイトからMarkdown Lib 1.4.0をダウンロードします。

 ダウンロードファイルを解凍したら、プロジェクト内に配置してください。本稿ではvendor/Michelfに保存しています。

Markdownファイル

 リスト38-1はMarkdown形式の例です。Markdown形式は簡易な記述で、読みやすい形式のテキストフォーマットを目指しており、ルールが多くない形式のフォーマットです。したがって、Wikiのように多くの派生フォーマットが生まれていません。

Markdown
PHP Markdown
============
[**PHP Markdown**](http://michelf.ca/projects/php-markdown/)は、Markdown形式のテキストをHTMLに変換するライブラリです。

インストール方法
-------------
- ダウンロード
- includeパスに追加

本文の例
--------------

### リンクを作成する
- [書籍一覧](http://gihyo.jp/book/list)
- [電子書籍一覧](https://gihyo.jp/dp)
### ソースを記述する
    <?php
    phpinfo();
    ?>
### 引用文を表示する
> こんにちは
>> こんにちは

### 水平線を入れる
水平線は以下のようにする

    ***
***
リスト38-1 Markdown形式のファイル(index.md)

 ソースをGitHubで管理されている開発者であれば覚えておく必要があるフォーマットと言えます。

HTML形式への変換

 リスト38-2はindex.mdファイルをHTMLに変換するコードです(図38-1)。最初に必要なクラスを読み込みます(1)。続いて、index.mdファイルの内容を文字列形式で読込、defaultTransformメソッドを用いてHTML形式に変換します(2)。

HTML+PHP
<?php
// 1初期設定
require_once("vendor/Michelf/Markdown.inc.php");
use Michelf\Markdown;
// 2HTMLへの変換
$text = file_get_contents("index.md");
$html = Markdown::defaultTransform($text);
?>
<html>
  <head>
    <style type="text/css">
      blockquote {
        margin-left: 0.5em;
        padding-left: 0.5em;
        border-left: 1px solid #CCCCCC;
      }
      code{
        display: block;
        padding: 0.5em;
        width: 80%;
        background-color: #DDDDDD;
        border: 1px dotted #666666;
      }
    </style>
  </head>
  <body>
    <?php print $html; ?>
  </body>
</html>
リスト38-2 HTMLへの変換(index.php)
図38-1 HTMLへの変換結果

※以下では、本稿の前後を合わせて5回分(第12回~第16回)のみ表示しています。
 連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
12. テンプレートエンジンの動作パラメーターを一元管理する(Smarty)

効率化のために、Smarty派生クラスを用意して、パラメータなどの設定はそこに押し込めてしまう方法を説明する。書籍転載の12本目(書籍内の番号は「41」)。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
13. テンプレートでデータ加工や条件分岐/繰り返し処理を表現する(Smarty)

関数、修飾子、演算子など、Smartyで利用できるテンプレートの個別要素について詳しく解説する。書籍転載の13本目(書籍内の番号は「42」)。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
14. 【現在、表示中】≫ markdown形式のテキストをHTMLに変換する(PHP Markdown)

Markdown形式のファイルをHTML形式のコードに変換するためのライブラリ「PHP Markdown」の基本的な使い方を説明する。書籍転載の14本目(書籍内の番号は「38」)。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
15. さまざまなグラフを動的に生成する(準備編)(JpGraph)

グラフ作成ライブラリ「JpGraph」を利用するまでの準備手順を説明する。書籍転載の15本目(書籍内の番号は「24」)。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
16. さまざまなグラフを動的に生成する(実行編)(JpGraph)

グラフ作成ライブラリJpGraphを使って、棒グラフ、折れ線グラフ、レーダーチャートを作成する方法を説明する。書籍転載の16本目(書籍内の番号は「25」)。

サイトからのお知らせ

Twitterでつぶやこう!