Fonction php vérifiant syntaxe d'une fonction

Résolu
jemsss Messages postés 188 Date d'inscription   Statut Membre Dernière intervention   -  
jemsss Messages postés 188 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis entrain de créer une calculatrice qui affiche les opérations entrer par les internautes.
Savez-vous s'il existe une fonction php qui permette de vérifier si la syntaxe d'une opération de mathématique est lisible par php.

Exemple :
$operation = "sprt(5*3*(2+2)"
Je veux vérifier si la syntaxe du contenu de '$operation' est lisible par php avant de l'éxécuter. Dans mon exemple non car j'ai écrit sprt au lieu de sqrt (racine carré) et en plus j'ai oublié de fermer une parenthèse.

Merci d'avance

jemsss
A voir également:

5 réponses

benj
 
je pense que tu peux le faire comme ça :

if (is_numeric($operation)) {
      //l'opération est valide puisqu'elle renvoie une valeur numérique. Affichage du résultat par exemple
}
else {
     //l'opération n'estpas valide sa valeur n'étant pas numérique. affichage du message d'erreur
}
0
jemsss Messages postés 188 Date d'inscription   Statut Membre Dernière intervention   17
 
Merci
C'est une combine pas mal à laquelle je n'est pas penser (sorry je débute)

existe-il une fonction php spécifique pour ça (ce serait plus court !!!)
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Si une opération n'est pas comprise par php, php te sortira tout simplement un message d'erreur
0
jemsss Messages postés 188 Date d'inscription   Statut Membre Dernière intervention   17
 
le problème c'est qu'il y aura de erreur de syntaxe régulièrement vu que ce sont les internaute qui entre la formule. Php affichera une belle page blanche avec un message d'erreur incompréhensible pour M. tout le monde. Je voudrais plutôt mettre une jolie message les invitant à corriger leur opération.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benj
 
pour ne pas afficher l'erreur il te suffit de mettre @ avant ta fonction comme par exemple :
$string = @htmlentities($string);

et pour afficher le message d'erreur je pense que ce que je t'ai conseillé fonctionne
0
jemsss Messages postés 188 Date d'inscription   Statut Membre Dernière intervention   17
 
ok
merci beaucoup pour tout ca. je vais essayer
jemsss
0