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 :

Remplacer une seule occurent (la première) dans une chaine [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 508
    Par défaut Remplacer une seule occurent (la première) dans une chaine
    bonjour,
    d'après la doc de str_replace :
    https://www.php.net/manual/en/function.str-replace.php

    on peut remplacer uniquement la 1ere occurence recherché si on met le count à 1 mais ça me renvoie une erreur "Fatal error: Uncaught Error: Cannot pass parameter 4 by reference"
    je suis en php 7.4, est-ce que ce paramétre count serait valable uniquement en php 8 ?

    merci de votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 463
    Par défaut
    Bonjour,

    Le paramètre $count dans la fonction str_replace ne permet pas de définir le nombre d'occurrence, il s'agit d'une variable qui sera alimentée par la fonction avec le nombre de remplacement effectué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $count = 0;
     
    str_replace('o', 'a', 'toto', $count); // 2 remplacements
     
    echo $count; // affiche 2
    Tu peux utiliser la fonction strpos() pour détecter la position de la première occurrence dans la chaine et substr_replace() afin de remplacer uniquement cette occurrence.
    https://www.php.net/manual/fr/function.strpos.php
    https://www.php.net/manual/fr/functi...tr-replace.php

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

Discussions similaires

  1. [MySQL] Remplacer une chaîne de caractères dans une base de données
    Par Furius dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 27/11/2013, 22h06
  2. Réponses: 10
    Dernier message: 16/06/2006, 14h53
  3. Rechercher remplacer une chaine dans 150 procs.
    Par gregco1 dans le forum Oracle
    Réponses: 8
    Dernier message: 14/06/2006, 18h39
  4. Remplacer une chaîne de caractères dans une base
    Par Furius dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/10/2005, 00h03
  5. Réponses: 7
    Dernier message: 27/09/2005, 12h54

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