PHPのはてな記法パーサーをver0.0.4にアップグレード

ダウンロード

HatenaSyntax ver0.0.4
過去のバージョンや詳しい仕様はこちら:やったーphpではてな記法のパーサーできたよー - id:anatooのブログ

変更点

  • スパゲッティ気味だったコア部分の書き直し
  • 見出しの水準を指定できるheadlevelオプションの追加
  • 順序付きリストと非順序付きリストを混同できるようになった

サンプル

<?php
include 'HatenaSyntax.php';

// オプションはすべて省略可。
$hs = new HatenaSyntax( array(
  'headlevel' => 1,        // 見出しの水準。デフォルトは3。
  'htmlescape' => true,    // htmlをエスケープするか。デフォルトはfalse。
  'id' => 'some_article'   // 記事のid。デフォルトは''。
));

echo $hs->parse('
*見出し

**小見出し

:定義:説明
::説明2

-リスト
-+順序付きリスト
-+順序付きリスト
-+-リスト
-+-リスト
-リスト

本文です((脚注の内容))

|*種類 |*数  |
|りんご|1    |
|みかん|2    |
');

実行結果

<div class="section">

<h1>見出し</h1>

<h2>小見出し</h2>

<dl>
<dt>定義</dt>
<dd>説明</dd>
<dd>説明2</dd>
</dl>

<ul>
<li>リスト</li>
<ol>
<li>順序付きリスト</li>
<li>順序付きリスト</li>
<ul>
<li>リスト</li>
<li>リスト</li>
</ul>
</ol>
<li>リスト</li>
</ul>

<p>本文です(<a href="#f1_some_article" name ="#b1_some_article" title="脚注の内容">*1</a>)
</p>

<table>
<tr><th>種類 </th><th></th></tr>
<tr><td>りんご</td><td>1    </td></tr>
<tr><td>みかん</td><td>2    </td></tr>
</table>

<div/>

<div class="footnote">
<p><a href="#b1_some_article" name="#f1_some_article">*1</a>: 脚注の内容</p>
</div>