PHP 4.0 Bug #8282 Updated: Is there a function for this?
| From: | david@php.net | Date: | Wed, 10 Jan 2001 07:01:13 +0000 |
| Subject: | PHP 4.0 Bug #8282 Updated: Is there a function for this? | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-43639@lists.php.net to get a copy of this message | ||
ID: 8282
Updated by: david
Reported By: cnewbill@onewest.net
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@onewest.net
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