[PHP-DEV] PHP 4.0 Bug #8282 Updated: Is there a function for this? From: david <email protected>
Date: 01/10/01

ID: 8282
Updated by: david
Reported By: cnewbill <email protected>
Status: Open
Bug Type: Feature/Change Request
Assigned To:
Comments:

so why don't you have your own

function quiet_eval($code)
{
  ob_start();
  eval($code);
  $retval = ob_get_contents();
  ob_end_clean();
  return $retval;
}

as I understand it, zend output buffers can be nested, so no issues with it interfering with existing buffers.

Previous Comments:
---------------------------------------------------------------------------

[2000-12-15 14:50:32] cnewbill <email protected>
I guess this is more of a hack than anything, but I really needed eval()'s code NOT to be displayed right away. So I used ob_start(), ob_get_contents(), and ob_end_clean().

<?php

$stuff = "Hello, ";

ob_start(); // start buffer
eval("print 'World!';"); // execute code
$retval = ob_get_contents(); // return executed code
ob_end_clean(); // delete the buffer

print $stuff.$retval;

?>

This would print "Hello, World!" instead of "World!Hello, ".

Is there a function to do this already?

Thanks,
Chris

---------------------------------------------------------------------------

Full Bug description available at: http://bugs.php.net/?id=8282

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
For additional commands, e-mail: php-dev-help <email protected>
To contact the list administrators, e-mail: php-list-admin <email protected>