質問: ``` function page($page) { return str_replace('あ', 'ああ', $page); } function content($content) { return str_replace('い', 'いい', $content); } function header($header) { return str_replace('う', 'うう', $header); } function footer($footer) { return str_replace('え', 'ええ', $footer); } // コンテンツの最初 ob_start('page'); ob_start('header'); ヘッダーの内容 ヘッダーの内容 ヘッダーの内容 ob_end_flush(); // headerの終わり ob_start('content'); コンテンツの内容 コンテンツの内容 コンテンツの内容 ob_end_flush(); // contentの終わり ob_start('footer'); フッターの内容 フッターの内容 フッターの内容 ob_end_flush(); // footerの終わり ob_end_flush(); // pageの終わり ``` みたいなことをしたいのですが、 いまいち**ob_end_flush();**などの終わり方が色々読んだり、試してみたのですがよく分かっていません。 こういった場合はどのように終わればいいのでしょうか? よろしくお願い致します。
回答: ob_start()の入れ子する必要性は感じられません 以下のような処理ではだめですか? ``` function page() {全体を処理} function content() {コンテンツを処理} function header() {ヘッダーを処理} function footer() {フッターを処理} ob_start(); page(); content(); header(); footer(); $content=ob_get_contents(); ob_end_clean(); ・・・・ print $content; ``` そもそも各処理が標準出力せずに文字列をreturnするようにすれば バッファリング自体不要です 具体的に ==== ```