IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème avec str_replace [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Problème avec str_replace
    Bonjour,

    J'essaye en quelques sortes d'encoder une chaine, pour cela je place un str_replace afin d'avoir la chaine "encodé".

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $depart = array("a", "z", "e", "r", "t", "y", "u", "i", "o", "p");
    $remp  =  array("p", "o", "i", "u", "y", "t", "r", "e", "z", "a");
     
    echo $chaine = "azerty"; echo"<br />";
    echo $new = str_replace($remp, $depart, $chaine); echo"<br />";
    echo str_replace($depart, $remp, $new);
    Mais le truc bizarre c'est qu'il ne sort pas la même chose du début jusqu'à la fin, au début je choisi "azerty" comme variable et à la fin j'ai "azertt".

    Merci de vos réponses .

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 346
    Points
    16 346
    Par défaut
    Si on lit la donc, on a une petite note qui dit :

    A cause du fait que la fonction str_replace() effectue les remplacements de la gauche vers la droite, elle peut remplacer une valeur précédemment insérée lors de multiples remplacements.
    C'est ce qui se passe dans ton cas.

    Tu peux alors utiliser la fonction strtr() qui fait exactement ce que tu recherches :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $chaine = "azerty"; echo"<br />";
    echo strtr( $chaine, 'azertyuiop', 'poiuytreza' ); // Affiche poiuyt

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Merci de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec str_replace
    Par Invité(e) dans le forum Langage
    Réponses: 30
    Dernier message: 15/10/2010, 15h08
  2. Réponses: 3
    Dernier message: 12/01/2008, 23h16
  3. [Tableaux] problème avec str_replace en boucle
    Par kev2259 dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2007, 16h46
  4. Problème avec str_replace()
    Par vinche999 dans le forum Langage
    Réponses: 6
    Dernier message: 13/02/2006, 09h23
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo