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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With