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?
Use the output control functions.
ob_start()
will start an output buffer which will suppress all content. Then, after you have done all the output, callob_get_contents()
and assign it to a variable. Finally callob_end_clean()
to start echoing normally again.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.