やったーphpではてな記法のパーサーできたよー

はてな記法のパーサーライブラリをPHPで書きました。

ダウンロード

公開日 バージョン 補足
2007年4月13日 0.0.6 改行コードの扱いがおかしかったのを修正
2007年4月1日 0.0.5 <div class="section">の閉じタグが<div/>になっていたのを修正
2007年1月17日 0.0.4 headlevelオプションの追加等。詳細ページ(サンプルあり)
2007年1月14日 0.0.3 オプション指定できるようになった等。詳細ページ(サンプルあり)
2007年1月2日 0.0.2 脚注記法がうまく働いていなかったのを修正
2007年1月2日 0.0.1

対応しているはてな記法

  • 見出し記法
  • 小見出し記法
  • 小々見出し記法
  • リスト記法
  • 定義リスト記法
  • 表組み記法
  • 引用記法
  • pre記法
  • スーパーpre記法
  • 脚注記法
  • 改行記法
  • [ http://〜]の形でのリンク

使い方サンプル

PHP5.2.5で動作確認しています。まあPHP5以上なら普通に動くはずです。

<?php
include 'HatenaSyntax.php';

$hs = new HatenaSyntax();
echo $hs->parse('
*見出し
適当な文字列

-リスト
--リスト
--リスト
-リスト

**小見出し
+順序付きリスト
++順序付きリスト
+++順序付きリスト

|*項目1|*項目2|
|りんご|1|
|みかん|2|
');

上記のコードの結果

<h3>見出し</h3>
<p>適当な文字列</p>

<ul>
<li>リスト</li>
<ul>
<li>リスト</li>
<li>リスト</li>
</ul>
<li>リスト</li>
</ul>

<h4>小見出し</h4>
<ol>
<li>順序付きリスト</li>
<ol>
<li>順序付きリスト</li>
<ol>
<li>順序付きリスト</li>
</ol>
</ol>
</ol>

<table>
<tr><th>項目1</th><th>項目2</th></tr>
<tr><td>りんご</td><td>1</td></tr>
<tr><td>みかん</td><td>2</td></tr>
</table>