stefduc
Messages postés2Date d'inscriptionlundi 24 mars 2003StatutMembreDernière intervention19 novembre 2004
-
18 nov. 2004 à 11:16
rttb
Messages postés290Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention25 avril 2008
-
19 nov. 2004 à 20:26
Bonjour,
Voici mon pb :
L'utilisateur saisi un ou plusieurs mots clés et il clique sur un bouton "Rechercher". Ensuite le programme appelle un code javascript qui surligne le(s) mot(s) clé(s) de la page. Cela serait simple s'il me surlignait pas les mots entre les balises HTML.
Je cherche un code permettant de surligner plusieurs mots dans une page HTML mais ceux qui ne se trouvent pas entre des balises HTML. J'ai essayé plusieurs possibilités mais je me heurte toujours à un pb.
Je suis débutant dans le domaine et se serait sympa si quelqu'un pouvait m'aider.
stefduc
Messages postés2Date d'inscriptionlundi 24 mars 2003StatutMembreDernière intervention19 novembre 2004 19 nov. 2004 à 09:50
Comme je me suis pris un peu la tête, j'ai récupéré un code existant sur le site que j'ai un peu modifié :
Voilà la procédure javascript :
On passe une variable "chaine" en paramètre qui est composée comme suit : Mot1:-:Mot2:-:Mot3
La fonction splite cette chaine pour récupérer un par un les mots (Mot1, Mot2, Mot3, ...) et ensuite surligne les mots dans le texte s'ils existent.
function Surligner(chaine)
{
var cle = chaine.split(":-:"), reg //Récup des mots clés
var txt = document.body.innerHTML; //Récup du texte HTML du body
//Il faut surligner le texte sans prendre le texte entre les balises
for(i=0;i<cle.length;i++)
{
reg = new RegExp(cle[i], "ig")
txt = txt.replace(reg, ""+cle[i]+"")
}
document.body.innerHTML = txt
}