[PHP] echoされちゃう内容を変数に取得

PHP
スポンサーリンク
こんにちは。 雑食会社員🐼くま子です
スポンサーリンク

背景

404 Not Found

上記の対応をしていたとき、
戻り値としてreturnしてもらって置換やらなんやらをしたかったのに、
律義にechoしてくれちゃう関数(wp_head())があり困ったので、
その対処法。

解決策

ob_start();         //出力バッファリングを有効にする
wp_head();          // echo
$wp_head = ob_get_contents();   // 変数に代入
ob_end_clean();     // バッファを削除

ob_get_contents()ob_end_clean()をまとめて
ob_get_clean()を使う手もあるらしい

PHP: ob_get_clean - Manual
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.

参考

ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入
標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。早い話がWordPressでテンプレートをincludeするときに便利に使えるよ。
PHP
スポンサーリンク
黒くまのおむすび🍙

コメント