I’m working with some functions that echo
output. But I need their return
so I can use them in PHP.
This works (seemingly without a hitch) but I wonder, is there a better way?
function getEcho( $function ) { $getEcho = ''; ob_start(); $function; $getEcho = ob_get_clean(); return $getEcho; }
Example:
//some echo function function myEcho() { echo '1'; } //use getEcho to store echo as variable $myvar = getEcho(myEcho()); // '1'
Advertisement
Answer
no, the only way i can think of to “catch” echo-statements it to use output-buffering like you already do. i’m using a very similar function in my code:
function return_echo($func) { ob_start(); $func; return ob_get_clean(); }
it’s just 2 lines shorter and does exactly the same.