begin process at 2010 08 01 01:26:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Fonction replace sur mots-cles dans le code HTML ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction replace sur mots-cles dans le code HTML ?

mardi 27 mars 2007 à 16:45:16 | Fonction replace sur mots-cles dans le code HTML ?

Lomendil

Bonjour,

Je suis actuellement en train de construire un code afin de pouvoir traiter le code HTML d'une page et, eventuellement, de remplacer certaines occurences par d'autres. Par exemple, transformer "Hello World" par "<SPAN style="color:#00FF00;font-weight:bold;">Hello World</SPAN>" dans toute une page, ou seulement la première occurence de l'expression si possible.

Pour l'instant, je parviens à faire un "highlight" sur le mot désiré (merci window.find) mais ça ne va pas plus loin. Ma plus grande difficulté semble être de passer le HTML dans une variable pour être testée et traitée par javascript, puis retournée au navigateur.

Pour information, la liste des mots-clés à remplacer est dans un tableau (Array) et pour l'instant mon code parcourt chaque élément du tableau pour le trouver dans le texte. J'ai peur que ça devienne rapidement très lourd à gérer si le code est appliqué à toutes les pages d'un site ...

Je vous remercie de votre attention et attends avec impatience vos idées et réactions sur ce thème ! :-)

mercredi 28 mars 2007 à 09:19:08 | Re : Fonction replace sur mots-cles dans le code HTML ?

bultez

Membre Club
Réponse acceptée !
Bonjour,
    je pense qu'ici tu aurais un exemple...

Cordialement        Bul     [mon Site]     [M'écrire]           

mercredi 28 mars 2007 à 10:29:12 | Re : Fonction replace sur mots-cles dans le code HTML ?

Lomendil

Réponse acceptée !
Source intéressante, mais pas pour le problème que j'ai actuellement. En effet, le travail se fait sur un textarea, fait pour être modifié donc, alors que je cherche à modifier le code HTML à la volée avant de le renvoyer au navigateur.

Je me demande finalement si JavaScript est un bon choix ? C'est peut-être plutot côté serveur que je vais devoir faire ça (PHP).
mercredi 28 mars 2007 à 11:13:02 | Re : Fonction replace sur mots-cles dans le code HTML ?

bultez

Membre Club
Réponse acceptée !
on peut utiliser le body.innerHTML   et, bien sûr, adapter le script donné en exemple

Cordialement                Bul     [mon Site]     [M'écrire]                       

mercredi 28 mars 2007 à 11:16:46 | Re : Fonction replace sur mots-cles dans le code HTML ?

Lomendil

Réponse acceptée !
C'est justement ce que je cherchais !

Je venais d'ailleurs tout juste de le trouver dans une autre source, ici : http://www.javascriptfr.com/code.aspx?ID=39413

Je pense que j'ai tout ce qu'il me faut maintenant, merci !
vendredi 13 avril 2007 à 19:01:27 | Re : Fonction replace sur mots-cles dans le code HTML ?

bmerklen

Réponse acceptée !
Bonjour,

As tu réussi à compiler le code que tu cherchais ?
Car cela m'interresse aussi !

Merci
samedi 14 avril 2007 à 17:51:32 | Re : Fonction replace sur mots-cles dans le code HTML ?

Lomendil

Heu compiler ? o_O

Enfin j'ai effectivement réussi à faire ce que je voulais. Voici le bout de code :

[code]
function AttacherInfosBulles(cible) {
if (!cible){cible = document.body;}
  //LISTE DES MOTS SUR LESQUELS LA BULLE SE PLACE AUTOMATIQUEMENT
  var MotsCles = Array("Mot1","Mot2","Mot3"), reg;
  //AUTRES VARIABLES
  var n = 0;
  var txt, i, found;
  //On boucle sur chaque mot clé du tableau
  for(i=0;i<MotsCles.length;i++) {
    txt = cible.innerHTML; //Récupération du contenu de l'élément
    reg = new RegExp(MotsCles[i],"")
    MotCle=MotsCles[i].replace(/ /g,"_");
    MotCle=noaccent(MotCle);
    txt = txt.replace(reg,"<span class=aide onMouseOver=\"overdiv++;popLayer('"+MotCle+"')\" onMouseOut=\"hideLayer();overdiv--\">"
    +MotsCles[i]+"</span>")
    n++;
    cible.innerHTML = txt;
  }
}
[/code]

Il faut ensuite mettre onload="AttacherInfosBulles(document.getElementById('id'))"
dans le <body>

Sachant bien sûr qu'il y a le reste du code qui suit pour faire fonctionner tout ça. Si j'ai le temps que publierais la source.

samedi 14 avril 2007 à 18:47:11 | Re : Fonction replace sur mots-cles dans le code HTML ?

bmerklen

Réponse acceptée !
Merci bien !

Si je ne me trompe pas, ta variable n ne sert à rien..

De plus, ton script ne fais qu'un seul remplacement..
C'est pour quoi j'ai encadré ta fonction "txt = txt.replace.." par une boucle for de 20 tours..
dimanche 15 avril 2007 à 02:07:43 | Re : Fonction replace sur mots-cles dans le code HTML ?

Lomendil

Oui en effet, ma variable n venait d'une version précédente du script, on peut donc l'enlever.

Par contre je ne vois pas bien ce que tu veux faire avec tes 20 tours ? Pourquoi 20 d'ailleurs ?

Ce script n'est pas idéal, il faudrait éviter qu'il boucle sur chaque mot clé pour être plus efficace, mais je n'ai pas trouvé comment faire autrement.
dimanche 15 avril 2007 à 02:19:37 | Re : Fonction replace sur mots-cles dans le code HTML ?

bmerklen

Le nombre 20 est aléatoire.. c'est juste pour tenir compte du fait qu'il peut y avoir plusieurs "Mot1" dans ta page..

Je n'ai pas non plus trouvé comment faire autrement..

De plus, il faut jouer avec les astuces pour que cela ne remplace pas le même mot en boucle..



Cette discussion est classée dans : fonction, code, replace, mots, html


Répondre à ce message

Sujets en rapport avec ce message

fonction replace() et code ISO [ par lddsoft ] Bonjour,Cela va faire un bon bout de temps que je galère et que je cherche sur le web, mais je ne trouve pas de réponse à mon problème. Il peut paraît HTML + compatibilité IE/ firefox [ par NicoIRIS ] Bonjour,Le code ci-dessous fonctionne parfaitement sous IE mais pas sous firefox. En effet, seul le paramètre 'color' n'est pas pris en compte. Legend pasteHTML [ par tomsawyer1664 ] Bonjour, J'ai un WYSIWYG editor et je l'ai customisé en ajoutant une fonction permettant d'ajouter des vidéos (.flv).Mon pb est le suivant lors de l'a utiliser editeur html de extJS dans un formulaire [ par xlight ] salut a tous,Alors voila, je cherche à inclure dans un  champ de mon formulaire l'editeur html que fourni extjs.Cependant, même en ayant épluché l'API Comment passer une variable d'une fonction javascript dans un code jsp dans la même fonction [ par ammouna24 ] Bonjour, Voici le bout de code que je veux faire, je sais que c'est débil de faire comme ça mais en fait ce que je veux c'est que je passe la variable Code HTML d'une sélection [ par jdmcreator ] Bonjour, Après plusieurs heures de recherches infructueuses sur Google, je pose ici ma question. J'aimerais savoir si on peut récupérer le code HTML Detecter resolution d'ecran et charger un .css en fonction [ par 0zar4 ] Yop !Alors voila j'ai une question, je suis actuelement entrain de développer mon site, j'ai de solides connaissances en HTML/CSS, j'attaque un peu de Connaitre la fin d'une fonction [ par Angelblade ] Bonjour à tous, je vais essayer de vous expliquer mon souci ^^'.Je veux pouvoir répéter une portion de code tous les X ms et une fois que le code a ét Pseudo éditeur WYSIWYG qui a de la peine avec les retours à la ligne [ par WebManiaK ] Bonjour.Je cherche à développer un éditeur WYSIWYG (What You See Is What You Get) pour que les membres puissent voir l'effet que produit leur texte en AJAX, textarea et envoie de code html [ par Jolafreem ] Bonjour,je développe une interface d'administration en AJAX.Voici le problème auquel je suis confronté :J'ai un textarea qui contient du code HTML et


Nos sponsors


Sondage...

CalendriCode

Août 2010
LMMJVSD
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales