Bug #8282 Updated: Is there a function for this?
| From: | jimw@php.net | Date: | Sat, 27 Apr 2002 18:13:08 +0000 |
| Subject: | Bug #8282 Updated: Is there a function for this? | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-6254@lists.php.net to get a copy of this message | ||
ID: 8282
Updated by: jimw@php.net
Reported By: cnewbill@onewest.net
-Status: Open
+Status: Closed
Bug Type: Feature/Change Request
Operating System: Linux
PHP Version: 4.0.3pl1
New Comment:
this is, indeed, exactly the sort of thing that output buffering is
for.
Previous Comments:
------------------------------------------------------------------------
[2001-01-10 02:01:13] david@php.net
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.
------------------------------------------------------------------------
[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
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=8282&edit=1