Je suis en trian de faire une petite fonction antibot, mais il y a un truc que je n'arrive pas à faire, c'est de faire comprendre à php que je désire qu'il me fournisse le résultat d'un opération située dans une chaine, donc qu'il me l'interprète pas en tant que string, mais comme du code.
Voici le code, mon problème se situe dans la 1ère condition.
function antibot()
{
$choix = mt_rand(1, 5);
if( $choix == 1 )
{
$signe = array(' plus ', ' moins ');
$operation = mt_rand(15, 20) . $signe[mt_rand(0, 1)] . mt_rand(5, 10) . $signe[mt_rand(0, 1)] . mt_rand(1, 5);
$result[0] = 'Combien font ' . $operation . ' ?';
$result[1] = str_replace($signe, array('+', '-'), $operation);
}
elseif( $choix == 2 )
{
$color = array('#00f', '#f00', '#0f0', '#ff0', '#000');
$nom = array('bleu', 'rouge', 'vert', 'jaune', 'noir');
$prop = implode(', ', $nom);
$c = mt_rand(0, count($color));
$quest = '<p><span style="color: ' . $color[$c] . '">';
$quest .= 'De quelle couleur est cette phrase ? ';
$quest .= '</span><br />';
$quest .= $prop . ' ?';
$result[0] = $quest;
$result[1] = $nom[$c];
}
elseif
{
}
// etc...
return $result;
}
$antibot = antibot();
echo $antibot[0];
Comment faire pour obtenir le résultat de l'opération ?Donc que pour result[1], j'obtienne le résultat et non une chaine.
Merci.