2009-07-28 12 views
5

¿Cómo captar la cadena que hace eco una función en una variable?Almacenar cadenas repetidas en una variable en PHP

he ir una función similar a esto:

function echoer() { 
     echo 'foo'; 
    } 

que no puedo cambiar su fuente. Lo que me gustaría hacer es almacenar 'foo' en una variable en lugar de dejarlo ir a la salida estándar. ¿Cómo se hace en PHP?

Respuesta

17

ob_start() iniciará un búfer de salida que suprimirá todo el contenido. Luego, después de haber hecho todos los resultados, llame al ob_get_contents() y asígnelo a una variable. Finalmente, llame al ob_end_clean() para comenzar a hacer eco normalmente.

 
ob_start() 

echo "This content won't be echoed immediatley"; 

$contents = ob_get_contents(); 

ob_end_clean(); 

echo $contents; 

como se ha mencionado Milen, echa un vistazo a Output Control functions.

Este método es muy útil, especialmente para trabajar con Wordpress, que se fija a la salida de la mayoría de las cosas, como los comentarios, y no proporciona una función de retorno.

+0

BTW. 100ª respuesta! ¡Tan feliz! –

Cuestiones relacionadas