2009-07-28 9 views
5

Comment récupérer la chaîne qu'une fonction renvoie à une variable?Stockage des chaînes en écho dans une variable en PHP

J'ai aller une fonction similaire à celle-ci:

function echoer() { 
     echo 'foo'; 
    } 

Je ne peux pas changer sa source. Ce que je voudrais faire est de stocker 'foo' dans une variable au lieu de le laisser aller à la sortie standard. Comment ça se passe en PHP?

Répondre

17

ob_start() va démarrer un tampon de sortie qui supprimera tout le contenu. Ensuite, après avoir effectué toutes les sorties, appelez ob_get_contents() et attribuez-le à une variable. Enfin, appelez ob_end_clean() pour recommencer à faire écho normalement.

 
ob_start() 

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

$contents = ob_get_contents(); 

ob_end_clean(); 

echo $contents; 

comme Milen mentionné, consultez Output Control functions.

Cette méthode est très utile, en particulier pour travailler avec Wordpress, qui est réglé sur la sortie la plupart des choses, comme des commentaires, et ne fournit pas une fonction de retour.

+0

BTW. 100e réponse! Tellement heureux! –

Questions connexes