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 :

problème avec preg_replace [RegEx]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 41
    Points : 28
    Points
    28
    Par défaut problème avec preg_replace
    Bonjour,
    j'ai un problème avec la fonction preg_replace.
    en fait dans mon moteur de recherche, je voudrais que ma chaine de sortie $sortie soit affiché en gras.
    le problème est que lorsque je recherche un mot composé par exemple : ora b
    je retrouve comme résultat <b>orab

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $rech= "/$mots/i";
    $sortie = '<b>$1</b>';
    echo pre_replace($rech,$sortie,$titre);
    comment faire pour enlever se <b> de ma recherche

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Points : 50
    Points
    50
    Par défaut
    Salut,

    Le problème viens des catactères séparateur de ta regex.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Tu recherche : 
    $rech= "/$mots/i";
    $sortie = '<b>$1</b>';
    echo pre_replace($rech,$sortie,$titre);
    Hors le séparateur de regex '/' et le '</b>' de ta balise rentre en 'conflit' disont que le / de ta balise fermante est considéré comme le caractère de fin de ta regex.

    Il te suffit de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $rech= "#$mots#i";
    $sortie = '<b>$1</b>';
    echo pre_replace($rech,$sortie,$titre);

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    Merci pour votre aide.
    Bonne continuation

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

Discussions similaires

  1. [RegEx] Problème avec preg_replace
    Par CapErquy dans le forum Langage
    Réponses: 25
    Dernier message: 14/02/2011, 16h40
  2. [RegEx] UTF8, problème avec preg_replace
    Par Space Cowboy dans le forum Langage
    Réponses: 4
    Dernier message: 30/04/2008, 16h42
  3. [RegEx] Problème avec preg_replace
    Par Vinzius dans le forum Langage
    Réponses: 6
    Dernier message: 27/05/2006, 23h10
  4. [RegEx] Problème avec preg_replace
    Par Vinzius dans le forum Langage
    Réponses: 4
    Dernier message: 08/05/2006, 01h06
  5. [RegEx] problème avec preg_replace
    Par carlos20 dans le forum Langage
    Réponses: 6
    Dernier message: 27/10/2005, 10h29

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