Accueil > Forum > > > > Mise en évidence des mots recherchés
Mise en évidence des mots recherchés
jeudi 17 avril 2008 à 11:45:43 |
Mise en évidence des mots recherchés

RPGamer
|
Bonjour à tous ^^
Je suis en train de développer un moteur de recherche pour mon site. J'ai décidé de mettre les mots recherchés en gras dans les résultats. Ca fonctionne bien, mais comme je suis pinailleur, j'aimerais que la fonction eregi_replace() qui ne prend pas en compte la casse au moment de la recherche du terme ne remplace pas le mot trouvé par celui tappé par l'utilisateur mais par celui qui est stocké dans la table MySQL.
Pour faire plus clair :
$city = 'Mon texte de base'; $keyword = 'mon';
$city = eregi_replace($keyword, "<strong>".$keyword."</strong>", $city);
Dans ce cas, $city vaut "mon texte de base" et non pas "Mon texte de base".
Comment faire pour que ça ne soit pas le cas ?
Merci d'avance 
|
|
jeudi 17 avril 2008 à 13:16:36 |
Re : Mise en évidence des mots recherchés

coucou747
|
salut
le principe : il faut capturer la chaine qui correspond au motif : $keyword.
$city = eregi_replace('/('.$keyword.')/', '<strong>$1</strong>', $city); un truc comme ca ?
sinon, juste un petit conseil de securite : si $keyword est defini par l'utilisateur, alors, il peut faire en sorte que la page mette 30 secondes a s'excuter (imagine si il demande cette page 10 fois par seconde, juste pour t'embeter...)
|
|
vendredi 18 avril 2008 à 17:36:02 |
Re : Mise en évidence des mots recherchés

RPGamer
|
Salut, J'ai essayé ton botu de code, et ça n'a pas l'air de marcher. Sinon, d'où est-ce que tu sors la variable $1 ? Au niveau de la sécurité, effecfivement j'imagine que n'importe quelle page peut être demandée un nombre quasi illimité de fois, mais est-ce vraiment utile de s'assurer sur chacunes des nombreuses pages du site qu'elle n'a pas été demandée x fois en un temps x par une IP donnée ? $keywords est en fait un tableau qui contient chaque mots tapé par l'utilisateur dans le champ. J'utilise une boucle foreach() pour mettre les termes recherchés en gras. Je m'assure aussi qu'il n'y aie pas de HTML avec la fonction strip_tags(). Merci 
|
|
vendredi 18 avril 2008 à 17:43:37 |
Re : Mise en évidence des mots recherchés

coucou747
|
$1 c'est la premiere chaine capturee par ()... c'est un truc specifique aux regexp.
pour le reste, je n'ai pas la reponse, c'est a toi de choisir ce que tu verouilles ou pas...
|
|
vendredi 18 avril 2008 à 17:55:41 |
Re : Mise en évidence des mots recherchés

RPGamer
|
OK, merci :)
J'ai essayé d'autres possibilités comme :
$city = eregi_replace('/('.$keywords.')/', "<strong>$1</strong>", $city);
ou
$city = eregi_replace('/('.$keywords.')/', '<strong>'.$1.'</strong>', $city);
Dans le premier cas, rien n'est mis en gras, dans l'autre, un message d'erreur m'indique apparement qu'il ne connait pas $1... (Parse error: syntax error, unexpected T_DNUMBER, expecting T_VARIABLE or '$')
|
|
vendredi 18 avril 2008 à 18:10:33 |
Re : Mise en évidence des mots recherchés

coucou747
|
Réponse acceptée !
perso, je fais toujours des pregs, je connais mieux la syntaxe des pregs :
$city = preg_replace('/('.$keyword.')/', '<strong>$1</strong>', $city);
ca ca devrait marcher...
si ca ne marche pas, donne moi un exemple pour $keyword et $city.
$1 n'est pas une variable, c'est normal que ca parse error... c'est un truc specifique aux regexp, rien a voir avec le php...
|
|
samedi 19 avril 2008 à 19:37:31 |
Re : Mise en évidence des mots recherchés

RPGamer
|
Salut ^^ J'ai testé ta ligne. Le résultat est encourageant, si je tape "parking", le mot en question est mis en gras. Mais si il s'agit du mot "Parking", il n'est pas mis en gras. Il faudrait donc que la fonction de mise en gras ne tienne pas compte de la casse. En me renseignant sur la question, j'ai trouvé sans trop de mal la bonne syntaxe : $city = preg_replace('/('.$keyword.')/i', '<strong>$1</strong>', $city); Encore merci pour cette précieuse aide 
|
|
dimanche 20 avril 2008 à 10:08:06 |
Re : Mise en évidence des mots recherchés
|
Cette discussion est classée dans : base, texte, mots, city, recherchés
Répondre à ce message
Sujets en rapport avec ce message
Zone de texte [ par benett ]
Bonjour à tous,comment faire pour cacher des zones de texte dans un tableau (Ces zones de texte résultent de la sélection de champs dans des base de d
URGENT!!! GROS PROBLEME BASE DE DONNEES!!! [ par slog9 ]
Slt!C pour la gestion dZun site internet, en fait pour la modification du texte.On arrive sur la page index ou lZon choisit le texte a modifier,et on
Sauver uniquement les changements dans un texte [ par fluminis ]
Bonjour,Voila ma base de donnees commence a devenir de plus en plus grosse et je voudrais reduire sa taille.Pour le moment je stocke dans ma base de d
Combien de fois revient le texte ??? [ par Michael ]
Salut !J'ai une table (base de données) à 3 colonnes dont une colonne "libellé"Dans une page (HTML) j'ai une zone de texte dans laquelle je saisi une
Combien de fois revient le texte ??? [ par Michael ]
Salut !J'ai une table (base de données) à 3 colonnes dont une colonne "libellé"Dans une page (HTML) j'ai une zone de texte dans laquelle je saisi une
Moteur de recherche [ par atoguum4ever ]
aTomicK Salut à tous,je cherche a faire un moteur de recherche en php et j'ai cru comprendre sur le forum que l
Mettre en couleur les mots recherchés [ par lawat ]
Bonjour à tous,Besoin d'aide, j'ai fait un petit moteur de recherche en php - Mysql et je peux faire une recherche avec plusieurs mots-clés.Et sais pa
problème texte tableau > base de données [ par inconnue ]
Bonjour, j'ai créé un tableau dynamiquement avec php dont une colonne affiche un texte issu d'une base de données et lorsqu'un long texte est entré da
Récuperer des données dans une base et les mettre dans un champs texte [ par benz038 ]
Salut J'ai un formulaire avec un tableau a plusieur colonnes dont une liste déroulante avec des codes!Je voudrai récuperer les données correspondant a
Liste déroulante, base de données et champs de texte [ par tenrod ]
Bonjour a tous j'aimerai pouvoir mettre à jour un champs de texte à partir de ce que j'ai sélectionné dans une liste déroulante...Je m'explique:J'ai c
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|