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() une fois


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut str_replace() une fois
    Bonjour,

    J'utilise la fonction str_replace() pour créer un texte à trous.

    Je voudrais savoir si il était possible de remplacer la chaine 1 fois,

    exemple :

    $chaine = "Bonjour, je suis ..., je ..."

    J'utilise la fonction str_replace() pour remplacer le "je", mais je voudrais remplacer uniquement le 1er.

    Possible ?, Comment ?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Un petit tour sur la documentation : str_replace a un 4eme paramètre :

    count
    Note: Si fourni, contiendra le nombre de recherches et d'occurrences à remplacer.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Un petit tour sur la documentation : str_replace a un 4eme paramètre :
    count
    Note: Si fourni, contiendra le nombre de recherches et d'occurrences à remplacer.
    Malheureusement, c'est un cas de mauvaise traduction de la doc (je m'y suis déjà fait prendre) : $count contiendra le nombre de recherches et d'occurences remplacées... Voir la page en anglais :
    Note: If passed, this will hold the number of matched and replaced needles.
    Pour limiter le nombre de remplacements à effectuer, il faut utiliser preg_replace

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Ah, j'avais essayé le 4ème paramètre et ça marchait pas :s

    La avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace("/$valeur_with/", "[res_here[$i]]", $content, 1);
    Il me sort l'erreur
    Warning: preg_replace() [function.preg-replace]: Unknown modifier 'h' in /home/myschool/www/apps_creation_tat.php on line 181
    Une idée ?

    Merci

  5. #5
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Dans la variable $valeur_with, tu as le caractère '/'. or, c'est ton délimiteur de l'expression régulière... Il faut donc que tu choisisse un autre délimiteur, absent de ta variable (exemples : @, #, ¤ : "¤$valeur_with¤"), ou alors que tu échappes tous les délimiteurs présents dans ta variable si tous les caractères peuvent y être utilisés.

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    ou alors que tu échappes tous les délimiteurs présents dans ta variable si tous les caractères peuvent y être utilisés.
    Bonjour, je ne vois pas comment échapper tous les délimiteurs.

    Pourquoi faut il utiliser des délimiteurs avec cette fonction et pas avec str_replace() ?

    Merci

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

Discussions similaires

  1. Modifier le PATH une fois pour toute
    Par elitost dans le forum Linux
    Réponses: 8
    Dernier message: 06/09/2009, 13h21
  2. [Thread]run une fois et plus apres
    Par maxvador dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 29/12/2004, 15h31
  3. [Initialisation] Remplir une structure une fois
    Par Kimael dans le forum Langage
    Réponses: 14
    Dernier message: 08/06/2004, 15h33
  4. Pb : malloc qui marche une fois sur deux .... ?
    Par guillaume_pfr dans le forum C
    Réponses: 14
    Dernier message: 21/07/2003, 09h52

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