remplacement d'une variable par une autre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : remplacement d'une variable par une autre

Re: remplacement d'une variable par une autre

par sirakawa » 28 févr. 2014, 16:49

Est-ce que je comprends bien:
S'il y a plusieurs occurences de "je" elles sont remplacées par les valeurs successives de l'autre tableau?
Il doit y avoir moyen avec preg_replace puisque les expressions régulières peremmetent de distinguer debut/milieu/fin de chaine à remplacer, quite à en employer plusieurs successivement.

Re: remplacement d'une variable par une autre

par Hibou51 » 28 févr. 2014, 16:23

Merci, mais effectivement ça ne fonctionne pas comme je le souhaiterais,
comme tu le précises si de "je" se trouvent dans la même variable alors il est changé par la meme valeur du tableau

Comment faire pour solutionner ça SVP

Re: remplacement d'une variable par une autre

par juju87 » 28 févr. 2014, 15:53

$b=0;
echo count($jojo); 
foreach ($jojo as &$val ){
	if (strstr($val, '§§§§§§')){
		$val=str_replace ( '§§§§§§' , $tableau[$b] , $val); 
	//	$val= $tableau[$b];
		$b=$b+1;
		echo $b;
	}
il faut faire comme ceci, mais je pense que si tu as deux fois "je" dans la meme variable il sera remplacé deux fois par la meme valeur du tableau

remplacement d'une variable par une autre

par Hibou51 » 28 févr. 2014, 15:45

Bonjour,
j'ai un tableau de variable du style [jojo]

tab[0]="je"
tab[1]="je t"
tab[2]="mama je heureux"
tab[3]="youhou"
etc..

et un autre avec : [tableau]
tab[0]="tom"
tab[1]="bil"
tab[2]="loulou"
tab[3]="marin"
tab[4]="max"
etc...
et je veux que dès que je rencontre les caracteres "je" dans le premier tableau je le change par le du second
j'ai donc fais ceci :
$b=0;
echo count($jojo); 
foreach ($jojo as &$val ){
	if ($val=='je'){
		$val= $tableau[$b];
		$b=$b+1;
		echo $b;
	}
}
Mais ca ne marche que si la variable entiere de mon tableau [jojo] est égal à 'je' et moi j'aimerai que ca marche pour chaque je compris dans ma variable, sachant que si ma premiere variable est egal à : "je vais bien, je suis heureux"
j'aimerai que ça me donne
"tom va bien, bil est heureux"
(cf: tom=tab[0] et bil= tab[1])

En gros il me faudrait un truc qui me permette de voir si 'je' est compris dans une chaine de caracteres et si c'est le cas changer que le "je" et pas toute la chaine

En espérant avoir été compréhensible, merci