str_replace

anna70
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 14:57

<?php 
$str = '22'; 

$recherche = array('2', '22'); 
$remplace = array('allo', 'papa'); 
echo str_replace($recherche, $remplace, $str); 
/* 
alloallo 
*/ 
?> 
Bonjour à tous

le code au dessus c'est pour expliquer mon prob :

la variable quand elle est egale à 22 au lieu d'avoir papa j'ai alloallo comment faire pour que la case soit respecter.

merci d'avance

Mammouth du PHP | 768 Messages

31 mars 2006, 15:17

j'ai essayé avec les pcre
<?php
$str = '22';
$recherche = array('/^2$/', '/^22$/');
$remplace = array('allo', 'papa');
echo preg_replace($recherche, $remplace, $str);
/*
papa
*/
?>
mais bon... à voir si ça peut t'aider, je pense qu'il y aurai une solution plus optimisée
/ ... / correspond au délimiteur du masque
^ correspond au début de chaîne
$ correspond à la fin de chaine
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Mammouth du PHP | 768 Messages

31 mars 2006, 15:21

voici quelque chose de plus optimisé
<?php
$str = '22';
$trans = array(2=> 'allo', 22=> 'papa');
echo strtr($str, $trans);

/*
papa
*/
?>
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

anna70
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 15:24

voici quelque chose de plus optimisé
<?php
$str = '22';
$trans = array(2=> 'allo', 22=> 'papa');
echo strtr($str, $trans);

/*
papa
*/
?>
merci mario, je crois que je vais opter pour celle ci, d'ailleurs j'etais en train de la coder .

merci encore :lol:

Mammouth du PHP | 768 Messages

31 mars 2006, 15:25

de rien Anna :wink:
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?