Bonsoir,

J'ai besoin d'interprêter un paramétrage.

Voici ce que je récupère d'une base de donnée.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(&var['DISPRTD'] > &var['MM']) &var['MM'] else &var['DISPRTD']
Cela devra donner une fois interprêté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
if($var['DISPRTD'] > $var['MM']) 
{
$montant=$var['MM']; 
}
else
{
$montant=$var['DISPRTD'];
}
Mon idée pour la réalisation de l'interprêteur est :

1) remplacer les & par des $
2) rechercher la ")" de fin pour positionner "{$montant="
3) rechercher "else"
- s'il existe mettre ";}" devant et "{$montant=" derrière
- s'il n'existe pas mettre ";}"
4) dans le cas du "else" rechercher la fin du texte pour positionner un ";}" à la fin

J'ai donc fait comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$regle = eregi_replace(')', '){$montant=', $regle);
$regle = eregi_replace('else', ';}else{$montant=', $regle);
$regle = $regle.';}';
$regle = str_replace("&","$",$regle);
Mon raisonnement est-il correct ?

Merci d'avance