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 uniquement le deuxième "</p>"


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 109
    Par défaut Remplacer uniquement le deuxième "</p>"
    Bonjour,

    J'ai un texte qui est composé de paragraphes. Je cherches à remplacer le deuxième "</p>" de ce texte par autre chose, et uniquement ce 2ème "</p>".

    J'ai cherché ce qui tournait autour des str_replace et autres méthodes de remplacement mais je n'ai pas trouvé de choses probantes.

    Auriez-vous un pti code de derrière les fagots pour faire ceci s'il vous plait ?

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Salut, il y a surement plus simple mais pourquoi ne pas utiliser la fonction substring avec une longueur de chaine égale à 4 et un compteur initialisé à 0 qui s'incrémente après chaque nouvelle occurrence </p> trouvée ? Lorsque ton compteur vaudra 2 alors tu remplacera ton </p> qui correspondra à ton 2ième </p>.

  3. #3
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    Tu as essayer de mettre tout ton texte dans une variable($var) et apres utiliser str_replace?

    Fais voir ton code............

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 109
    Par défaut
    acirfa > je n'ai pas de code, pour le moment j'ai juste un simple texte dans une variable.

    Citation Envoyé par Madfrix Voir le message
    Salut, il y a surement plus simple mais pourquoi ne pas utiliser la fonction substring avec une longueur de chaine égale à 4 et un compteur initialisé à 0 qui s'incrémente après chaque nouvelle occurrence </p> trouvée ? Lorsque ton compteur vaudra 2 alors tu remplacera ton </p> qui correspondra à ton 2ième </p>.
    Ca pourrait m'intéresser mais comment articuler le code, aurais-tu un exemple s'il te plait :-?

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function replace_occurence($string, $find, $replacement, $occurence) {
        $c = $pos = 0;
        while (($pos = strpos($string, $find, $pos)) !== FALSE && $c < $occurence) {
            $c++;
            $pos++;
        }
        if ($pos !== FALSE && $c == $occurence) {
            return substr_replace($string, $replacement, $pos, strlen($find));
        } else {
            return FALSE;
        }
    }
     
    $string = 'avant<p>§1</p>entre<p>§2</p>entre<p>§3</p>fin';
    echo replace_occurence($string, '</p>', 'toto', 2);
    Mais il doit exister plus simple

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 109
    Par défaut
    Ca devrait marche après quelques bidouillage de mon code déjà écrit (ça bloque mais je devrais y arriver). Merci beaucoup !!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/12/2010, 17h02
  2. Sed : remplacer uniquement la premiere occurence
    Par kahya dans le forum Linux
    Réponses: 3
    Dernier message: 24/03/2010, 16h54
  3. Réponses: 4
    Dernier message: 24/06/2009, 09h27
  4. Réponses: 21
    Dernier message: 19/12/2006, 12h58
  5. [MySQL] update qui ne s'exécute uniquement la deuxième fois !
    Par isa150183 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/01/2006, 09h58

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