Guest stone Posté 22 Mai 2005 Posté 22 Mai 2005 salut, je suis entrain de finaliser un moteur de recherche sur mes tables, je voudrais y ajouter une petite fonctionnalité mais je n'y arrive pas, ce que je désire c'est mettre en évidence mes mots clés trouvés (Le HighLight, ça s'écrit comme ça ??? ). J'utilise les templates (Moteur PHPLib). mais je ne sais pas s'il est possible de générer des tags {MOTCLE} aléatoirement selon le résultat de ma recherche. J'explique encore plus, par exemple je recherche les mots clés "Hello World" dans la chaine : "toto hello titi tata world tete", ce que je veux avoir comme code HTML c'est : toto hello <span class="highlight">titi</span> tata <span class="highlight">world<span> tete encore désolé de la ******* de mes questions
lupucide Posté 22 Mai 2005 Posté 22 Mai 2005 (modifié) Bonne question. Ta chaîne sort d'un fichier ou de MySQL (template, je sais pas trop ce que c'est) ? Une fonction avec preg_replace() je pense mais c'est le comment qui m'échappe. J'attend comme toi une réponse Modifié 22 Mai 2005 par lupucide
Phobos Posté 22 Mai 2005 Posté 22 Mai 2005 (modifié) $sortie=preg_replace("'".$recherche."'","<span class=\"highlight\">\\1</span>",$sortie); $sortie= ta chaine et $recherche= le mot recherché, ça devrait faire l'affaire Modifié 22 Mai 2005 par Phobos
Guest stone Posté 22 Mai 2005 Posté 22 Mai 2005 salut Phobos j'ai déjà essayé ce genre de solution mais cela suppose que dans mon code php il y aura déjà des balises HTML ce que je ne désire pas faire
Anonymus Posté 22 Mai 2005 Posté 22 Mai 2005 Comment veux tu mettre en surligné, sans balises HTML ? Y'a un truc qui m'échappe
enroc Posté 22 Mai 2005 Posté 22 Mai 2005 Une autre solution est de le faire en Javascript, mais il faudra là aussi utiliser des balises ! Voir squarefree.com pour des idées.
Guest stone Posté 22 Mai 2005 Posté 22 Mai 2005 mon idée est de séparer complètement la mise en page des scripts php mais bon si c'est la seule solution je m'incline
Phobos Posté 22 Mai 2005 Posté 22 Mai 2005 $sortie=preg_replace("'".$recherche."'","[HL]\\1[/HL]",$sortie); et tu fais le remplacement des [HL] [/HL] avant ta sortie
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant