Mettre en gras un mot de chaine... [Résolu]

Messages postés
22
Date d'inscription
lundi 23 janvier 2006
Dernière intervention
5 mars 2007
- 18 févr. 2006 à 17:03 - Dernière réponse :
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
- 19 févr. 2006 à 14:41
Bonjour,

Je viens de créer un moteur de recherche et j'aimerais mettre en gras le ou les mot(s) que la personne a recherché via le formulaire, je ne sais pas comment faire. Pouvez vous me mettre sur la piste ?

Merci d'avance pour votre aide
Bon week end
Ludo
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Dernière intervention
8 janvier 2014
18 févr. 2006 à 22:17
3
Merci
En fait si on veut être rigoriste, on devrait distinguer la mise en
forme du document (HTML/XML) de la mise en page du document (CSS). En
toute rigosité, il devrait :



1) Créer une classe CSS dans un fichier "style.css" :

.MotCle { font-weight: bold ; }

2) Inclure le fichier CSS dans son document :

<link rel="stylesheet" type="text/css" href="style.css">

3) Modifer l'instruction de remplacement de texte :

$Description = eregi_replace("$MotCle", "$MotCle", $Destination); // eregi est
mieux si on veut un remplacement insensible à la casse



amha.

Merci cs_AlexN 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_AlexN
Messages postés
137
Date d'inscription
vendredi 30 décembre 2005
Dernière intervention
18 avril 2006
18 févr. 2006 à 17:49
0
Merci
salut,
comment ca !!
bein recupères la clé et mets echo '$mot_cle';
Commenter la réponse de yergo
Messages postés
22
Date d'inscription
lundi 23 janvier 2006
Dernière intervention
5 mars 2007
18 févr. 2006 à 18:10
0
Merci
je me suis mal exprimé je pense lol
en faite il s'agit de la description que ma requete a trouvé dans la base de données comme le fait google lorsque que tu effectue une recherche dans le descriptif il te met ton mot en gras
en espérant que j'ai été plus clair
@+
Commenter la réponse de cs_aureludo
Messages postés
370
Date d'inscription
mercredi 7 avril 2004
Dernière intervention
20 février 2007
18 févr. 2006 à 20:11
0
Merci
$resultat=str_replace($le_mot,''.$le_mot.'',$resultat);



$resultat étant le text où l'on doit mettre en gras le mot $le_mot

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
Commenter la réponse de thomvaill
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Dernière intervention
8 janvier 2014
18 févr. 2006 à 20:15
0
Merci
$MotCle = ...mot clé donné par l'utilisateur...

// Faire une requete pour chercher la/les descriptions contenant le mot cle

// Je fais une supposition sur ta requete

if ( ($Resultat = mysql_query("SELECT Description FROM Table WHERE
Description LIKE %$MotCle%")) && mysql_num_rows($Resultat) ) {



// Convertir la reponse en objet pour l'accès au champ Description

$Reponse = mysql_fetch_object($result);

// Encadrer le MotCle par une balise

foreach ($Reponse->Description as $Description) {

$Description = ereg_replace("$MotCle", "$MotCle", $Description);

echo $Description;

}

if ( !mysql_free_result($Resultat) ) die ("Erreur lors de la libération de mémoire");

}



Ou quelquechose dans ce goût là... avec les erreurs en moins...
Commenter la réponse de cs_AlexN
Messages postés
22
Date d'inscription
lundi 23 janvier 2006
Dernière intervention
5 mars 2007
18 févr. 2006 à 21:13
0
Merci
merci à tous cela fonctionne nickel
une fonction que je ne connaissais un grand MERCI !!!!!!!
bonne soirée
@+
ludo
Commenter la réponse de cs_aureludo
Messages postés
418
Date d'inscription
mercredi 24 novembre 2004
Dernière intervention
26 septembre 2009
18 févr. 2006 à 21:16
0
Merci
Bonjour,
Alors, premièrement, Aureludo, valide leurs réponses s'il sont bonnes.
Ensuite, mieux veut utiliser qui il me semble. Question de Xhtml je crois ...
A++
Si un des membres à poster une reponse qui convient, accepter là !
Commenter la réponse de cs_Arnauti
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
19 févr. 2006 à 00:01
0
Merci
Salut,

à chaque fois que t'as un mot tu rajoutes deux choses à deux tableaux différents :

$array_recherche[]= $mot; //tu mets dans l'array_recherche le mot que tu veux remplacer en gras
$array_remplace[]=' '.$mot.' ';

ensuite à la fin de la boucle (en dehors) qui a rempli les tableaux tu fais un unique str_replace :

$chaine =str_replace($array_recherche,$array_remplace,$chaine);

Concernant le et la différence vient du fait que le ne signifie pas que le texte en gras a une importance, tandis que le souligne l'importance du texte, le style choisi a été le gras mais ça aurait pu être autre chose, un peu comme et l'italique, qui diffère de (d'ailleurs non valide xhtml strict)

a +
Commenter la réponse de cs_Anthomicro
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
19 févr. 2006 à 14:04
0
Merci
Ou alors via un seul tableau :

$array[$mot] = ' '.$mot.' ';
$chaine = str_replace(array_keys($array), array_values($array), $chaine);

Et ca marche tout autant :)
Commenter la réponse de FhX
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
19 févr. 2006 à 14:41
0
Merci
ouais, c'est juste un peu moins clair :-)

Commenter la réponse de cs_Anthomicro

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.