Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Storing echoed strings in a variable in PHP

How to grab the string that a function echoes to a variable?

I've go a function similar to this:

    function echoer() {
        echo 'foo';
    }

I cannot change it's source. What I would like to do is to store 'foo' in a variable instead of letting it go to the standard output. How is it done in PHP?

like image 807
Alex Avatar asked Jul 28 '09 17:07

Alex


1 Answers

ob_start() will start an output buffer which will suppress all content. Then, after you have done all the output, call ob_get_contents() and assign it to a variable. Finally call ob_end_clean() to start echoing normally again.

ob_start()

echo "This content won't be echoed immediatley";

$contents = ob_get_contents();

ob_end_clean();

echo $contents;

as Milen mentioned, check out Output Control functions.

This method is very useful, especially for working with Wordpress, which is set to output most things, like comments, and doesn't provide a return function.

like image 105
Tyler Carter Avatar answered Sep 21 '22 18:09

Tyler Carter