- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- Javascript: replace e innerhtml
-
Javascript: replace e innerhtml
ciauz a tutti, ho un grosso problema...dopo diverse molte di documentazione ero arrivato a creare uno script funzionante per effettuare il replace di termini contenuti nel body, aggiungendo ad essi anche una formattazione html.
il problema è nato dal fatto che il testo per il replace poteva trovarsi anche in una tabella, un paragrafo ecc...
ho cercato in internet un "aiuto" e ho trovato questo fantastico script
http://snippets.dzone.com/posts/show/4490#related ...eccolovar words={ 'Bill':'William','Miss':'Mrs' } var regs=[]; for(arg in words){regs[regs.length]=new RegExp(arg,'g')} window.onload=function replaceText(){ var tags=document.getElementsByTagName('body')[0].getElementsByTagName('*'); var i=0,t; while(t=tags[i++]){ if(t.childNodes[0]){ var j=0, c; while(c=t.childNodes[j++]){ if(c.nodeType==3){ var k=0; for(arg in words){ c.nodeValue=c.nodeValue.replace(regs[k],words[arg]); k++; } } } } } }
l'array delle parole per il replace è questo:
var words={ 'Bill':'William','Miss':'Mrs' }
se io volessi fare una cosa di questo tipo
var words={ 'Bill':'<strong>William</strong>','Miss':'<em>Mrs</em>' }
lo script farebbe correttamente il replace...ma mi mostrerebbe a schermo il codice html...
bisogna dunque utilizzare innerHTML, il fatto è che nn riesco in nessun modo ad adattare lo script per farlo funzionare...
spero davvero che qualcuno mi possa aiutare...
ciauz e grazie a tutti