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 :

str_replace est-il fada?


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 264
    Points : 141
    Points
    141
    Par défaut str_replace est-il fada?
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $s = "Ma chaine a deux fois le mot chaine";
    while
    {
    $i++;
    str_replace('chaine','<form name="MonForm"'.$i.'>chaine</form>',$s)
    }
    // Retourne <form name="MonForm1">chaine</form> <form name="MonForm1">chaine</form>
    str_replace replace tous les mots identiques qu'elle trouve, connaissez vous une fonction qui recherche et change le mot une fois, ce qui permettrait d'obtenir une incrémentation ?

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Tu as un dernier paramètre dans str_replace qui te permet d'indiquer le nombre d'occurrence que tu souhaites remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace('chaine','<form name="MonForm"'.$i.'>chaine</form>',$s, 1)
    Cf : http://fr3.php.net/manual/fr/function.str-replace.php

    Par contre, il manquerait pas un paramètre à ta boucle ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 264
    Points : 141
    Points
    141
    Par défaut
    c'est curieux mais si on fait directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       $s='ma chaine contient deux fois le mot chaine';
       $toto = str_replace('chaine','<form>chaine</form>',$s,1);
     echo $toto;
    ça plante
    FADA error: Only variables can be passed by reference ..


    mais si on fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       $count=1;
       $s='ma chaine contient deux fois le mot chaine';
       $toto = str_replace('chaine','<form>chaine</form>',$s,$count);
       echo $toto;
    ça fonctionne pas

  4. #4
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Hop,

    le 3ème paramètre de str_replace ne permet pas de donner un nombre d'occurences à remplacer, mais contiendra le nombre d'occurences remplacées.

    Pour ne remplacer qu'un mot, il faut soit le faire à la main (strpos, strlen, etc...), soit utiliser preg_replace.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 264
    Points : 141
    Points
    141
    Par défaut
    justement je trouvais pas de solution merci pour la piste...

Discussions similaires

  1. Qu'est ce qu'un grand projet ?
    Par Geronimo dans le forum Débats sur le développement - Le Best Of
    Réponses: 62
    Dernier message: 04/04/2013, 14h52
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. Quelle est la fiabilité du protocole SSL ?
    Par Anonymous dans le forum Développement
    Réponses: 5
    Dernier message: 05/09/2002, 13h31
  4. apprentissage du C est-il necessaire pour C++ ?
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 02/05/2002, 12h56
  5. C'est quoi exactement un générateur d'états
    Par Henry Cesbron Lavau dans le forum Outils de restitution et d'analyse
    Réponses: 0
    Dernier message: 02/04/2002, 19h15

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