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 :

Mettre en évidence le résultat d'une recherche [RegEx]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut Mettre en évidence le résultat d'une recherche
    Salut!

    Petite question : comment faire pour mettre en évidence le résultat d'une recherche avec un moteur de recherche ?

    Je vois ici sur les forums que quand je recherche le mot "moteur" et qu'il m'affiche les résultats, tous les "moteurs" rencontrés sont gras et rouges.

    Merci d'avance (je débute)

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Bonjour,

    Peut-être avec un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $Texte_complet=  ereg_replace($le_mot_a_rechercher, "<b><font color='#cc0000'>" . $le_mot_a_rechercher . "</font></b>", $Texte_complet);

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Ok merci je vais essayer ça...
    Juste un truc : quand tu utilise la variable texte_complet, ça correspond à la variable renvoyée par Mysql suite à une requete dans la BDD ?

  4. #4
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Oui, j'ai mis ce nom pour que ce soit plus explicite.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Merci N1bus ça marche par contre la fonction ne prend pas en compte la casse donc il colore uniquement les mots en minuscule par exemple.

    J'ai un peu regardé et j'ai trouvé la fonction eregi_replace qui elle n'est pas sensible à la casse, mais le problème c'est qu'elle remplace carrément la majuscule en minuscule.

    Un exemple pour etre plus clair :

    Avec ereg_replace : Salut ne sera pas coloré si on tape salut
    Avec eregi_replace : Salut sera coloré si on tape salut mais la coloration le fera devenir salut, ce qui est bizarre non ?

  6. #6
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Alors aprés il faut utiliser les regex

  7. #7
    Expert éminent sénior

    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
    Points : 17 778
    Points
    17 778
    Par défaut
    Il faudrait d'une part laisser de côté les fonctions ereg* au profit de l'extension PCRE (preg_*) qui sont plus performantes et plus souples. D'autre part, pour obtenir le mot correspondant tel qu'il est, vous devez le capturer puis y faire référence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $out = preg_replace('.\b' . preg_quote($mot_cherche) . '\b.i', '<span class="highlight">\0</span>', $in);
    Supprimez les \b si vous souhaitez que la capture soit partielle.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Ok merci je vais tester ça

  9. #9
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Impec ça marche merci

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

Discussions similaires

  1. Créer état à partir résultat d'une recherche
    Par Rcanada dans le forum IHM
    Réponses: 11
    Dernier message: 05/09/2006, 11h25
  2. exporter le résultat d'une recherche multi-critère ?
    Par Tetsuotil dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 18/07/2006, 17h39
  3. mettre en évidence le résultat d'une requête
    Par mussara dans le forum Langage
    Réponses: 5
    Dernier message: 21/06/2006, 17h38
  4. Résultat d'une recherche
    Par Rehtakulveets dans le forum Access
    Réponses: 2
    Dernier message: 15/05/2006, 09h42
  5. [XP pro] Suppression du résultat d'une recherche
    Par Higgins dans le forum Windows XP
    Réponses: 1
    Dernier message: 17/02/2006, 08h32

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