Cakephpでブログ本文の出力にWiki記法などを使う。

/cake/libs/flay.phpを使う

cakeのライブラリ。非推奨?だけど簡易的なことが可能。
URLの自動リンク、画像表示、太字など。
もちろんサニタイジングも。
手順

  1. /cake/libs/text.phpを/app/views/helpersにコピー。
  2. エラーがでるからtrigger_erroをコメントアウト(良いのか?)
  3. app_controllerにvar $helpers = array('Html','Form','Text');でTextヘルパーを読み込み。
  4. こんな感じで使う。$text->flay($post['Post']['body'])

参考

CakePHP1.2 flay - ミショニポー
http://d.hatena.ne.jp/tenman/20081023/p1

3 Hidden CakePHP Functions You Can’t Live Without, Flay - Labs
http://labs.iamkoa.net/2007/11/01/3-hidden-cakephp-functions-you-cant-live-without-flay/

Flay and cakePHP | Personal weblog of Robert Beekman
http://blog.matsimitsu.nl/code/136/flay-and-cakephp

PEARwiki記法を使う。

【自分の方法】
1./app/vendors/pear/text_wikipearのText_Wikiライブラリを展開
2./app/controllers/app_controller.phpのfunction beforeFilter()でwikiの読み込み

App::import('Vendor', 'Wiki', array('file' => 'pear'.DS.'text_wiki'.DS.'Text'.DS.'Wiki.php'));

3./app/views/helpers\wiki.phpを準備(下記のURL参照)
4.viewでの記述 $wiki->transform(($post['Post']['body'])
5.あれpear_ini.phpとかいらない?

参考

CakePHPのヘルパーからPEAR::Text_Wikiを使ってお手軽変換 - 「最果て」の支部
http://d.hatena.ne.jp/nori0620/20071208/1197134282

Glorious Life » Cakephp 備忘録 PEARを使う時
http://www.gloriouslife.sakura.ne.jp/blog/?p=432

CakePHPCakePHPPEARを使うには - 『私的』ソフトウェア開発室
http://development.watashiteki.jp/2008/09/using-pear-with-cakephp.html