Fonction php vérifiant syntaxe d'une fonction

Résolu/Fermé
jemsss Messages postés 188 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 - 20 avril 2009 à 21:42
jemsss Messages postés 188 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 - 21 avril 2009 à 08:20
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

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 jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 17
20 avril 2009 à 21:54
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 avril 2009 à 22:00
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 jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 17
20 avril 2009 à 22:05
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
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 jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 17
21 avril 2009 à 08:20
ok
merci beaucoup pour tout ca. je vais essayer
jemsss
0