Executer une chaine a l'aide de eval mais avec du code php

Contenu du snippet

voilà je cherchais à executer une chaine dans mon script a l'aide de la function eval. Mais ma variable contenait du code php et html. J'ai cherché sur php.net une solution et j'ai trouvé. je l'ai légerement adapté pour une utilisation plus souple.

Donc la variable $string contient mon code et après ses 2 ligne la variable string contient denouveau le code mais executer

example:
$string = "<b>coucou<?= echo " comment ca va ?" ?></b>";
sera : "coucou coment ca va ?"

Source / Exemple :


$string = '<b>coucou<?= echo " comment ca va ?" ?></b>'; // la chanie à executer

$string = preg_replace_callback("/(<\?=)(.*?)\?>/si",create_function('$string','ob_start();eval("$string[2];");$return = ob_get_contents();ob_end_clean();return $return;'),$string);
$string= preg_replace_callback("/(<\?php|<\?)(.*?)\?>/si",create_function('$string','ob_start();eval("print $string[2];");$return = ob_get_contents();ob_end_clean();return $return;'),$string);

echo $string;

Conclusion :


plus c'est compliqué plus c'est jouissif !!

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.