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

PHP & Base de données Discussion :

mise en évidence de mots clés


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut mise en évidence de mots clés
    Bonjour tout le monde et merci de m'aider


    Voici mon problème:

    J'ai un formulaire de recherche. Celui ci va chercher les données dans une base de données mySQL.

    L'insertion des données se fait comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $topic = mysql_real_escape_string($_POST['topic']) ;
    $query = "insert into partenaire values('".$topic."'")";
    (j'utilise donc mysql_real_escape_string afin de protéger les données)



    Ensuite, pour afficher mes données lors de la recherche, j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $topic = stripslashes($tab['topic']) ;
     
    echo htmlentities($topic,ENT_QUOTES);
    Tout se passe très bien et le code HTML qui pourrait se trouver dans le champs topic est affiché par exemple <br> et non comme un passage à la ligne.


    Maintenant, je voudrais souligner les mots clés utilisés, lors de la recherche:
    Quelquechose du style:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
     
    echo str_replace (stripslashes($_SESSION['motcle']), '<span style="text-decoration: underline;">'.stripslashes($_SESSION['motcle']).'</span>', 
    $topic)

    Si j'affiche cela, il n'y a plus de protection des données grace à htmlentities, MAIS si j'utilise htmlentities, la balise <span style="text-decoration: underline;"> n'est forcément pas interprettée et donc mon mot clé n'est pas souligné.


    Ma question est donc: comment faire pour convertir tous les caractères éligibles en entités HTML SAUF si ces caractères sont <span style="text-decoration: underline;">.


    OU

    Comment souligner les mots clés dans le résultats lors d'une recherche sur un champs se trouvant dans une base de données et pouvant contenir des tags HTML?



    Merci pour votre aide!

  2. #2
    Membre habitué Avatar de Rizzen
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 115
    Points : 157
    Points
    157
    Par défaut
    Salut essaie de cette manière

    Au lieu de faire un echo de ton htmlentities, tu stocke ton htmlentities dans une variable puis tu utilises ton replace pour mettre ton soulignement. Enfin tu affiche la variable.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $topic = stripslashes($tab['topic']) ;
    $topic = htmlentities($topic,ENT_QUOTES);
    $topic = str_replace (stripslashes($_SESSION['motcle']), '<span style="text-decoration: underline;">'.stripslashes($_SESSION['motcle']).'</span>', 
    $topic)
    echo $topic
    le code n'est pas testé j'ai juste repris ce que t uas fait pour te montrer le déroulement
    Java'ldire à tout le monde

Discussions similaires

  1. Extraction de mots clés
    Par Olive1808 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 01/02/2016, 20h49
  2. [XL-2010] Mise en forme conditionnelle basée sur mots-clés
    Par vpet dans le forum Excel
    Réponses: 8
    Dernier message: 14/09/2011, 14h08
  3. [Javascript][Algorithme] Mise en évidence de mot clé
    Par trihanhcie dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/08/2006, 10h09
  4. Select par mot-clés ou 1er lettre
    Par maadadi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/02/2004, 10h50

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