con javascript è possibile intercettare una determinata parola testuale presente in una pagina e sostituirla con un altra?
con javascript è possibile intercettare una determinata parola testuale presente in una pagina e sostituirla con un altra?
codice:<script> function findandreplace() { var body = document.getElementsByTagName('body')[0]; body.innerHTML = body.innerHTML.replace(/petardo/, 'capitello'); } window.onload = findandreplace; </script> ... <body> oggi ho comprato un petardo </body>
Ciao
-Fab-
Vuoi aiutare la riforestazione responsabile?
Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)
grazie.
ti chiedo questo, in caso le parole siano piu di una ed ognuna va sostituita con un termine specifico?
in grassetto: la "g" significa che cambia ogni occorrenza trovata della parola, la "i" significa che la ricerca è case-insensitive.codice:<script> function findandreplace() { var body = document.getElementsByTagName('body')[0]; body.innerHTML = body.innerHTML.replace(/parola1/gi, 'sostituto1'); body.innerHTML = body.innerHTML.replace(/parola2/gi, 'sostituto2'); ... body.innerHTML = body.innerHTML.replace(/parolan/gi, 'sostituton'); } window.onload = findandreplace; </script> ... <body> oggi ho comprato un petardo </body>
Attenzione perchè così stai sostituendo il contenuto del body (che comprende anche i vari tags). Volendo puoi ottimizzare le espressioni regolari in modo che escludano dalla sostituzione tutto ciò che si trova tra le parentesi angolari < e >
Ciao
-Fab-
Vuoi aiutare la riforestazione responsabile?
Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)
capisco cosa vuoi dire.
che dici di far lavorare la funzione solo dentro un determinato DIV? è possibile?
è sempre meglio perfezionarla ed escudere i contenuti dentro le < >?
ok. per farlo funzionare dentro un div assegnagli un id (i.e. 'tuodiv') e modifica il codice così:
Ciaocodice:<script> function findandreplace() { var div = document.getElementById('tuodiv'); div.innerHTML = body.innerHTML.replace(/parola1/gi, 'sostituto1'); div.innerHTML = body.innerHTML.replace(/parola2/gi, 'sostituto2'); ... div.innerHTML = body.innerHTML.replace(/parolan/gi, 'sostituton'); } window.onload = findandreplace; </script> ... <body> <div id="tuoid"> oggi ho comprato un petardo </div> Questo petardo non si trasformerà in un capitello.... </body>
Vuoi aiutare la riforestazione responsabile?
Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)