Existe-t-il un equivalent à eval(); qui retourne le resultat ?

Existe-t-il un equivalent à eval(); qui retourne le resultat ? - PHP - Programmation

Marsh Posté le 15-01-2006 à 22:21:56    

Bonjour,
 
Admettons la variable suivante :
 
$test = 'echo "Trop Bien";';
 
Si je fais un eval($test); il m'affiche direct à l'écran "Trop Bien".
 
Mais comment faire pour ça dans une variable plutôt que de l'afficher ?
 
En gros, un genre de $output = eval($test); qui fonctionnerait.
 
C'est possible ?
 
Merci :)


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 15-01-2006 à 22:21:56   

Reply

Marsh Posté le 15-01-2006 à 22:24:43    

Bon ben j'ai réussi en fait :)
 
De cette manière :
 

Code :
  1. eval($test);
  2. $result = ob_get_contents();


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 16-01-2006 à 00:34:47    

les redirections (> < ) ca marche pas en php ?


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 16-01-2006 à 08:09:28    

Dj YeLL a écrit :

Bon ben j'ai réussi en fait :)
 
De cette manière :
 

Code :
  1. eval($test);
  2. $result = ob_get_contents();



 
Pourquoi tu fais un echo si tu veux rien afficher ?
 
http://fr3.php.net/eval
Le premier exemple me paraît un brin plus adapté.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 16-01-2006 à 10:04:50    

sielfried a écrit :

Pourquoi tu fais un echo si tu veux rien afficher ?
 
http://fr3.php.net/eval
Le premier exemple me paraît un brin plus adapté.


 
Parce que c'est bien plus compliqué que ça ;)
 
J'ai mis ça juste pour l'exemple. C'est toujours pour mon moteur de template. Si un bloc template est défini comme étant un bloc php, alors il faut que le moteur évalue ce bloc, mais il ne doit pas l'afficher, il doit mettre le resultat en mémoire, l'affichage étant totalement indépendant du traitement des templates :)


---------------
Gamertag: CoteBlack YeLL
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed