Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Remplacer par RegExp l'évaluation d'une operation arithmétique [ Divers / Général ] (guill76)

mercredi 21 juin 2006 à 21:14:04 | Remplacer par RegExp l'évaluation d'une operation arithmétique

guill76

Salut,
Je bute sur un problème :
je parse une chaine de type équation mathématique ex (3x+(5*2) +3X3 +3X2) avec eregi_replace pour remplacer dans 1 premier temps toutes les opérations de nombres entiers ou réels par leur évaluation.

ici par exemple le résultat souhaité serait de récupérer la chaine suivante en retour :
3X + 10 + 3X3 +2X3.

A vrai dire ce n'est pas l'expression reguliere qui pose pb mais plûtôt le fait de savoir comment utiliser la fonction eval dans le paramètre de remplacement dans eregi_replace: voici ma fonction:
Ici l'ERE ne reconnait que l'opération (5*2) dans mon cas.
$strresult = eregi_replace('\(([0-9]+(\.[0-9]+)?[\+\-\/\*][0-9]+(\.[0-9]+)?)\)',eval('$res=\'\1\';'),$eqString))
         
PB: là eval ne renvoit pas la chaine $res.Et ma question : y a t'il une autre fonction similaire qui pourrait convenir ? si oui la quelle? 


mercredi 21 juin 2006 à 23:04:28 | Re : Remplacer par RegExp l'évaluation d'une operation arithmétique

guill76

Réponse acceptée !
HOp la, si ça peut servir: 
J'ai pu contourner le pb de la manière suivante
while (ereg('\(([0-9]+(\.[0-9]+)?[\+\-\/\*][0-9]+(\.[0-9]+)?)\)',$eqString,$tab)){
         eval('$res='.$tab[1].';');
         $eqString = str_replace($tab[0],$res,$eqString);
     }
je sais que ça peut etre lourd  en proc de mettre une reg exp dans une boucle, mais bon.



Cette discussion est classé dans : chaine, replace, remplacer, évaluation, eregi


Répondre à ce message

Sujets en rapport avec ce message

forme ereg, eregi, ereg_replace, eregi_replace [ par apz ] salut,j'aimerais bien comprendre les expressions regulieres (ereg, ereg_replace, eregi, eregi_replace).j'ai lu la documentation et voila ce que j'ai c remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère [ par loupile ] Bonjour j'ai une chaine de caractère qui est du type ...$chaine = 'bien choisir son pc ?';dans cette chaine je voudrais supprimer les ponctuations :  Comment ne garder que certains caractères d'une chaine ? [ par Gta3soluce ] Bonjour,J'utilise la fonction str_replace pour remplacer certains caractère contenu dans une chaine par d'autres.J'aimerais faire le contraire.  C'est Problème avec eregi_replace [ par bice3 ] Bonjour,J'aimerais voir si quelqu'un pourrait m'aider pour une question sur eregi_replace.J'ai un texte avec deux balises qui sont avec le nom de mon eregi_replace fonctionne pas [ par spycollege ] bonjour à tous, voilà le problème : j'ai installé une fonction eregi_replace afin de remplacer le code d'un smilie par son image. Ca donne donc ça : preg_replace / eregi_replace petit probleme [ par nem02004 ] Salut, je voudrais faire:echo preg_replace("`]+?>.*?`", urlencode("\\1"), $message);mais le url_encode n'est pas pris en comtpe, comment peux ton fair str_replace pour remplacer un div [ par 64nemesis ] Bonjour,je souhaiterai remplacer un div dans une page en fonction d'un parametre, ainsi est-il possible de faire:str_replace(" blah blah blah"," blah eregi_replace limité [ par cz1702 ] Bonjour,Je souhaite mettre une balise encadrant toutes les lignes commençant par #.Pour cela j'utilise la fonction eregi_replace comme cela :$txt=ereg Acronymes dynamiques [ par crocxx2 ] Bonjours, je cherche à développer un systeme qui me permetré de géré les acronymes dynamiquement pour mon site, jusque la j'ai fait sa:    function Re Je voudrais rajouter une condition a mon script [ par Diabless6 ] Bonjour,Alors voilà j'ai créer ce script, seulement étant un peu novice en php, j'ai un soucis :Lorsque le script ne trouve pas un system d'explotatio


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.