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 :

preg_replace remplacement précis


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de guillaume40
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 97
    Par défaut preg_replace remplacement précis
    Bonjour,
    J'ai besoin d'effecteur des remplacements dans une chaine de texte.
    Par exemple la chaine est :
    Bonjour ca <a href="">ca</a> va ?

    Et je veux remplacer le "ca" par autre chose mais pas le "ca" qui à un lien dessus.
    Actuellement j'utilise '/\b(?<!\-)('.$linker['mot'].')(?!\-)\b/' mais j'ai vraiment du mal avec les expressions régulières, j'ai trouvé celle là sur des forums mais je ne la comprend même pas.

    Donc j'aimerai la modifier pour qu'elle ne remplace pas les liens.

    Merci d'avance

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    ce que tu peux faire par exemple c'est de remplacer touts les liens pour les protéger des modifications, ensuite tu rajoute les liens au "ça" qui reste et dans la dernière étape tu remets les liens en place

  3. #3
    Membre confirmé Avatar de guillaume40
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 97
    Par défaut
    Mais en fait à la base dans mon texte il n'y à pas de lien.
    Mon script sert à mettre des liens sur des mots clés définit.
    Or si je met 2 liens sur le même mot clé ( 1 mot clé est remplacé qu'une seule fois avec les limite de preg_replace )

    Donc si j'ai 2 liens sur le même mot clés la boucle passe une fois et remplace disons le premier "ca" en lien.
    La 2éme boucle sa va repasser sur le premier "ca"
    Du coup sa fera un truc du genre <a href=""><a href="">ca</a></a>
    Donc je voudrais utiliser l'expression réguliére pour que çà ne prenne que "ca" pas de d'autre mot contenant "ca" par exemple "cas" reste "cas".

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par guillaume40 Voir le message
    Mais en fait à la base dans mon texte il n'y à pas de lien.
    dans ce cas tu peux utiliser la fonction http://php.net/strtr
    elle s'occupe automatiquement de ne pas faire de modification là où elle en a déjà faite

  5. #5
    Membre confirmé Avatar de guillaume40
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 97
    Par défaut
    Mais avec strstr je ne peux pas dire combien je veux de remplacement maximum.

  6. #6
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par guillaume40 Voir le message
    Mais avec strstr je ne peux pas dire combien je veux de remplacement maximum.
    comment ça ? montre nous un exemple

Discussions similaires

  1. [RegEx] preg_replace : remplacement de caractères
    Par alio350 dans le forum Langage
    Réponses: 4
    Dernier message: 24/04/2013, 16h13
  2. [RegEx] preg_replace remplacer des guillemets
    Par Invité dans le forum Langage
    Réponses: 19
    Dernier message: 07/09/2011, 16h19
  3. [RegEx] preg_replace() remplacement partiel.
    Par Jarode01 dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2009, 09h34
  4. [RegEx] Preg_replace, remplacement PHP
    Par Klyne2 dans le forum Langage
    Réponses: 13
    Dernier message: 18/10/2009, 00h34
  5. [RegEx] Preg_replace remplacer plusieurs fois une variable
    Par C45T0R dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2008, 14h39

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