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 :

[Tableaux] Remplacer dans plusieurs chaines de caractères


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut [Tableaux] Remplacer dans plusieurs chaines de caractères
    Bonjour,
    J'ai des hésitations sur la méthode à employer.
    J'ai une quinzaine de variables avec du texte sur lesquels je dois remplacer les espaces, les : (deux points) et les ; (point virgule) par autre chose.

    Je cherche donc à rationnaliser et ne pas en demander trop au serveur.

    Pour l'instant j'en suis la mais c'est super long :

    $texte1=str_replace(" ","z1z",$texte1);
    $texte1=str_replace(":","z3z",$texte1);
    $texte1=str_replace(";","z4z",$texte1);

    $texte2=str_replace(" ","z1z",$texte2);
    $texte2=str_replace(":","z3z",$texte2);
    $texte2=str_replace(";","z4z",$texte2);

    et ainsi de suite jusqu'à la variable $texte15

    En plus plus tard je devrais remettre les : ; et les espaces dans ces variables à partir des variables modifiées avec les z1z, z3z et z4z.

    Est-ce que je dois utiliser str_replace ou preg_replace ou ereg_replace ???
    Est-ce que vous voyez un inconvénient avec ces z1z, z2z et z4z?
    Est-ce qu'il y a une manière fiable plus optimisé et moins gourmande en ressource serveur?
    Est-ce que je suis clair dans mes questions?

  2. #2
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Ce que tu peux déjà faire, c'est utiliser des tableaux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $contents=//string to search...
    $toFind=array(" ",":",";");
    $replaceBy=array(''z1z","z3z","z4z");
    $contents=str_replace($toFind,$replaceBy,$contents);
    c'est peut-être pas la meilleure solution, mais c'est déjà plus simple.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Oui c'est très intéressant merci!!!
    Est-ce que quelqu'un a un conseil pour le choix entre str_replace ou preg_replace ou ereg_replace ?

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/08/2010, 17h45
  2. [RegEx] remplacer dans une chaine de caractère (cas spécial)
    Par etage92 dans le forum Langage
    Réponses: 8
    Dernier message: 04/07/2008, 18h24
  3. Réponses: 2
    Dernier message: 07/03/2007, 10h46
  4. Réponses: 2
    Dernier message: 05/01/2006, 13h15
  5. Remplacer dans une chaine de caractères à partir de la fin
    Par daddyel dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/01/2006, 11h31

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