5

関数が変数にエコーする文字列を取得する方法は?

私はこれに似た機能に行きました:

    function echoer() {
        echo 'foo';
    }

ソースを変更することはできません。私がやりたいのは、「foo」を標準出力に渡す代わりに変数に格納することです。PHPでどのように行われますか?

4

2 に答える 2

17

ob_start()すべてのコンテンツを抑制する出力バッファを開始します。次に、すべての出力が完了したら、ob_get_contents()それを呼び出して変数に割り当てます。最後にob_end_clean()、通常どおりエコーを再開するために呼び出します。

ob_start()

echo "このコンテンツはすぐにはエコーされません";

$contents = ob_get_contents();

ob_end_clean();

$内容をエコーし​​ます。

Milenが述べたように、出力制御機能をチェックしてください。

このメソッドは、特に、コメントなどのほとんどのものを出力するように設定されており、return 関数を提供しない Wordpress で作業する場合に非常に便利です。

于 2009-07-28T17:43:11.123 に答える
6

出力制御機能を使用します。

于 2009-07-28T17:42:34.477 に答える