Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    "Evidenziare" parola in testo

    Problema...

    Supponiamo che io abbia un testo.. esempio:
    Nell'Ue la Microsoft vendera' il futuro sistema operativo Windows 7 senza il suo browser Explorer installato automaticamente. Lo ha annunciato in serata il colosso di Redmond. Microsoft risponde alle critiche della Commissione europea, secondo cui pre-installando Explorer ma non i concorrenti come Firefox o Safari il gruppo di Bill Gates avrebbe abusato della propria posizione dominante. La Microsoft era stata multata da Bruxelles proprio per ragioni di questo tipo.

    e una blacklist di parole:
    "Microsoft"
    "propria"
    "era"

    Come posso fare affinchè in questo testo mi compaiano "evidenziate" le parole, o meglio, le parole contenenti la mia lista di termini?


    Come risultato vorrei:

    Nell'Ue la Microsoft vendera' il futuro sistema operativo Windows 7 senza il suo browser Explorer installato automaticamente. Lo ha annunciato in sera ta il colosso di Redmond. Microsoft risponde alle critiche della Commissione europea, secondo cui pre-installando Explorer ma non i concorrenti come Firefox o Safari il gruppo di Bill Gates avrebbe abusato della propria posizione dominante. La Microsoft era stata multata da Bruxelles proprio per ragioni di questo tipo.

  2. #2
    Codice PHP:
    $testo ereg_replace("era""[b]era[/b]"$testo); 

  3. #3
    quindi un ciclo foreach?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    $str = preg_replace("/\b(Microsoft|era|propria)\b/i","$0",$str);

  5. #5
    Originariamente inviato da GS 7.0
    quindi un ciclo foreach?
    Che c'entrano i cicli? .

    quella funzione sostituisce tutti gli "era" con era .

    Altrimenti puoi usare la funzione di nicola75ss che è più elegante.

  6. #6
    codice:
    <?php
    $str = "Nell'Ue la Microsoft vendera' il futuro sistema operativo Windows 7
    senza il suo browser Explorer installato automaticamente. Lo ha annunciato in
    serata il colosso di Redmond. Microsoft risponde alle critiche della
    Commissione europea, secondo cui pre-installando Explorer ma non i concorrenti
    come Firefox o Safari il gruppo di Bill Gates avrebbe abusato della propria
    posizione dominante. La Microsoft era stata multata da Bruxelles proprio per
    ragioni di questo tipo.";
    
    $blacklist = array('Microsoft', 'propria', 'era');
    foreach ($blacklist as $word) {
    	$replace[] = "<span class=\"yellow\">$word</span>";
    }
    
    echo str_replace($blacklist, $replace, $str);
    ?>
    Se vuoi che la ricerca delle parole sia case insensitive, allora usi str_ireplace(). Se vuoi che la ricerca sia case insensitive E la sosituzione sia fatta mantenendo le maiuscole/minuscole dell'originale, allora devi usare le regular expressions (ma le preg e non le ereg).

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.