• 締切済み

ヒアドキュメントの中で変数を置換

下記の例にあるような処理でヒアドキュメントの中で{$i[**]}の中の[数字]を抜き出し その数字を**に対応する絵文字に置換して表示させたいと思います。 理想的に処理の方法がわかりません。部分的なコード処理のアドバイスを下さい。 ----------------------------------------- ・ドコモの時にarray[**][2]を置換 ・auの時にarray[**][3]を置換 ・ソフトバンクの時にarray[**][4]を置換 ----------------------------------------- --------------------------------------------------- emoji.txt 1,ドコモ絵文字1,au絵文字1,ソフトバンク絵文字1 2,ドコモ絵文字2,au絵文字2,ソフトバンク絵文字2 3,ドコモ絵文字3,au絵文字3,ソフトバンク絵文字3 4,ドコモ絵文字4,au絵文字4,ソフトバンク絵文字4 5,ドコモ絵文字5,au絵文字5,ソフトバンク絵文字5 6,ドコモ絵文字6,au絵文字6,ソフトバンク絵文字6 7,ドコモ絵文字7,au絵文字7,ソフトバンク絵文字7 8,ドコモ絵文字8,au絵文字8,ソフトバンク絵文字8 -------------------------------------------------- -------------------------------------------------- emoji.php $contens =<<<html {$i[1]}<br> {$i[2]}<br> {$i[1]}<br> {$i[5]}<br> {$i[6]}<br> html; ユーザーエージェント判別 場合分け処理 if{ ドコモの時にarray[**][2]を置換 echo $contents; } elseif{ auの時にarray[**][3]を置換 echo $contents; } else{ ソフトバンクの時にarray[**][4]を置換 echo $contents; } --------------------------------------------------

みんなの回答

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

<?php //適当ですけど $content = <<<EOD これは晴れの絵文字です。<br /> [[emoji:sunny]]<br /> EOD; $pattern = '/\[\[emoji:([a-z][a-z0-9]+)\]\]/'; print preg_replace_callback($pattern, array('Emoji', 'convert'), $content); class Emoji {   public static function convert($m) {     if ('career' == 'au') {       return au_hoge($m[1]);     }   } }

関連するQ&A

専門家に質問してみよう