CakePHPのヘルパーからPEAR::Text_Wikiを使ってお手軽変換
前提としてwiki記法で書かれたテキストをDB等に保存してるとする。
んでviewで出力するときにこんな感じでwiki記法をhtmlに変換できたらお手軽で便利そう。
<h1>Wikiデータ</h1> <?php echo $wiki->transform( $wikiString ) ?>
こんなヘルパーを実装する方法を説明します。
1.PEAR::Text_WikiをCakephpにインストール
PEARライブラリをCakephpにインストールする方法については、方法も何種類かあるし、いろんなところに情報があると思うので省きます。
vendorsから呼び出してでText_Wikiを利用できる状態にしてください。
2.wikiヘルパーの作成
app/views/helpersにwiki.phpを作成
<?php class WikiHelper extends Helper { function transform($text){ //PEAR呼び出し部分、ここはCakePHPにどのようにPEARを導入してるかによって異なるので適宜書き換えてください vendor('pear_ini'); include_once('Text/Wiki.php'); $wiki =& new Text_Wiki(); //日本語文字化け対策 $wiki->setFormatConf('Xhtml', 'translate', HTML_SPECIALCHARS); //変換部分 $xhtml = $wiki->transform($text,'xhtml'); return $xhtml; } } ?>
2.使用例
view部分で$wikiStringにwiki記法で書かれたテキストが入っているとすると
<h1>Wikiデータ</h1> <?php echo $wiki->transform( $wikiString ) ?>
でxhtmlに整形されたデータが出力されます。