note 92938 deleted from function.eval by danbrown
| From: | danbrown@php.net | Date: | Sat, 15 Aug 2009 17:59:49 +0000 |
| Subject: | note 92938 deleted from function.eval by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-159518@lists.php.net to get a copy of this message | ||
Note Submitter: php at imw dot fr
Reason: non-english
----
Une petit fonction pour vérifier la syntaxe d'un code. La différence avec les
précédente est de pouvoir tester un code contenant des fonctions et de pouvoir
l'exécuter ensuite sans qu'il génère l'erreur de redéclaration des
fonctions.
On récupère en plus le message d'erreur pour pouvoir le traiter.
<?php
function check_syntax($code)
{
ob_start();
eval('return true;function check_syntax_'.uniqid().'(){' .
$code.'}');
return ob_get_clean();
}
?>
Le code n'est pas exécuté, et les fonctions ne sont pas chargée, mais la syntaxe est
vérifiée.