Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285

    sostituire termini di testo dentro una pagina

    con javascript è possibile intercettare una determinata parola testuale presente in una pagina e sostituirla con un altra?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    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)

  3. #3
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    grazie.
    ti chiedo questo, in caso le parole siano piu di una ed ognuna va sostituita con un termine specifico?

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    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>
    in grassetto: la "g" significa che cambia ogni occorrenza trovata della parola, la "i" significa che la ricerca è case-insensitive.

    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)

  5. #5
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    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 < >?

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ok. per farlo funzionare dentro un div assegnagli un id (i.e. 'tuodiv') e modifica il codice così:

    codice:
    <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>
    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.