Comment puis-je enregistrer le résultat d'un echo() dans une variable en PHP?
Je suis en utilisant une bibliothèque PHP qui fait écho à un résultat plutôt que de le renvoie. Est-il un moyen facile de capturer la sortie de l'echo/de l'impression et de la stocker dans une variable? (Autre texte a déjà été sortie, et le tampon de sortie n'est pas utilisée).
OriginalL'auteur Luke Dennis | 2010-10-30
Vous devez vous connecter pour publier un commentaire.
Vous pourrait utiliser le tampon de sortie :
Mais ce n'est pas propre et le plaisir de la syntaxe à utiliser. Il peut être une bonne idée de trouver un mieux la bibliothèque...
ob_get_contents()
va capturer tout ce qui était fait l'écho, mais il ne va pas l'empêcher d'être envoyé au navigateur, à un moment ultérieur. La chaîne sera capturé et fait l'écho. Si vous voulez capturer au lieu de en écho, vous devez utiliserob_get_clean()
Vous êtes entièrement droit kijin, j'ai édité un peu avant de votre commentaire.
OriginalL'auteur Vincent Savard
La seule façon que je sais.
OriginalL'auteur Cesar
Vous devriez vraiment réécrire la classe, si vous le pouvez. Je doute qu'il serait dur de trouver de l'écho/impression des déclarations et de les remplacer par
$output .=
. À l'aide de ob_xxx prend des ressources.OriginalL'auteur Xeoncross
C'est toujours une bonne pratique de ne pas l'écho de données jusqu'à ce que votre demande dûment rempli, par exemple
maintenant
session_start
avec une autre chaîne de fonctions ne fonctionnerait pas comme il y a déjà été données délivrée comme la réponse, mais en procédant de la manière suivante:Ce serait le travail et ceux qui le sont moins enclins à faire des erreurs, mais si sa doit que vous avez besoin pour capturer la sortie alors vous feriez:
OriginalL'auteur RobertPitt