begin process at 2012 05 31 14:28:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Remplacer par RegExp l'évaluation d'une operation arithmétique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Remplacer par RegExp l'évaluation d'une operation arithmétique

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ée 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

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales