Page 1 sur 1

str_replace

Posté : 31 mars 2006, 14:57
par anna70
<?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

Posté : 31 mars 2006, 15:17
par mario
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

Posté : 31 mars 2006, 15:21
par mario
voici quelque chose de plus optimisé
<?php
$str = '22';
$trans = array(2=> 'allo', 22=> 'papa');
echo strtr($str, $trans);

/*
papa
*/
?>

Posté : 31 mars 2006, 15:24
par anna70
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:

Posté : 31 mars 2006, 15:25
par mario
de rien Anna :wink: