これ、試してうまくいってみたけど、もしかしたら間違っているかもしれない話。
今、WordPressのプラグインをつくっているのですが、ユーザーが管理画面から表示内容のマークアップをヒアドキュメントの形式で入力できるようにし、プラグインの出力を、そのままそのヒアドキュメントを使って表示させようとしています。
$fuga = '<div class="aaa">$hoge</div>' //ユーザーが入力したヒアドキュメントの内容を$fugaにいれて $arr=<<<EOF $fuga EOF; //$hogeがプラグインから出力される変数なので、そのマークアップをしたいです。
上記でためしたところ、うまくいかなかったのですが、
$fuga = "<div class='aaa'>$hoge</div>"; $arr=<<<EOF $fuga EOF;
このように、ヒアドキュメント用の変数をダブルクオーテーションで閉じたところうまくいきました。
これですすめてみます!
追記 やっぱりだめかも。やりたい流れは下記のとおり
1. 管理画面のフォームで下記のマークアップ内容を入力
“
$hoge
”
2.この内容を、$fugaに代入
3. プラグインで、$hogeが生成される。
4.プラグインのヒアドキュメントで、$fugaを使い、$hogeのマークアップを行う。
こうすると、2の時点で$hogeができていないと、$fugaの時の$hogeはnullになる。