Twitterのツィートを取得した際につぶやいた中にリンクタグが含まれている場合があるけど、
APIで取得した段階ではリンクになっていないので自分で加える必要がある。
文字列中からリンクがある場合にリンクタグにする方法は「Textヘルパー」で簡単に出来るけど、
Twitterへのリンクが含まれていると「Textヘルパー」では対応してくれないので
ヘルパーを拡張する。その中で「Textヘルパー」を読んでやればよいという感じ。
<?php class TweetHelper extends Helper { var $helpers = array('Text'); // テキスト加工 function twetextLink($str, $options = array()){ $str = $this->Text->autoLink($str, $options); $str = preg_replace("/@([A-Za-z0-9_]+)/",'@$1$2',$str); return $str; } } ?>
これを使用したいコントローラの中でhelpersの定義をする。
コントローラ
var $helpers = array('tweet');
あとはviewの中の好きな場所で呼び出す。
<?php echo $tweet->twetextLink($tweete['Tweete']['text'], array("target"=>"_blank")); ?>
これでアドレスと@はリンクになっています。