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

    Ricercare ed evidenziare testo

    Devo effettuare una ricerca ed ho come chiave di ricerca $chiave="treno";
    Nel DB in una particolare tabella ed in un particolare campo devono essere cercate tutte le parole che contengono $chiave ( anche se ad esempio nel DB c'è il termine Treno, questo deve essere trovato ).

    Come faccio a realizzare questa ricerca nel DB ?
    Avevo pensato ad una SELECT con WHERE (nomecampo LIKE '%$chiave%') e ciò sembra funzionare.
    Pero se uso il seguente codice per sottolineare la parola trovato accade che se $parolatrovata="treno" allora viene sottolineata mentre se $parolatrovata="Treno" non viene sottolineata. Come faccio a risolvere questo problema ?.

    $query="SELECT * FROM utente WHERE ((cognome LIKE '%$chiave%'))";
    $result = Interroga($query);
    while ($row = mysql_fetch_array($result)) {
    $cognome = $row['cognome'];
    $nome = $row['nome'];
    $email = $row['email'];
    $cognome = str_replace($chiave,"<span style=\"background-color: #FFFF00\">$chiave</span>",$cognome);
    }

  2. #2
    protesti usare prima una funzione che renda tutte le lettere minuscole e poi richiami il tuo codice.

  3. #3
    prova un pochino cosi con il solito metodo:
    Codice PHP:
    $ricerca=strtoupper($ricerca);
    $testo=strtoupper($testo);
    $testo=str_replace($ricerca,"[B]".$ricerca."[/B]",$testo);
    echo 
    "$testo"

  4. #4
    esatto come dicevo io: con strtoupper o strtolower a piacimento.

  5. #5
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    ma così pero tutto il testo divenda maiuscolo...è proprio quello che volevi?

  6. #6
    non era prprio quello che volevo però potrebbe andare. In realtà mantenere il formato testo così com'era non sarebbe male. Suggerimenti ?

  7. #7
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Originariamente inviato da triple h
    non era prprio quello che volevo però potrebbe andare. In realtà mantenere il formato testo così com'era non sarebbe male. Suggerimenti ?
    io proporrei questo script

    Codice PHP:
    $testo_evidenziato=eregi_replace("($chiave)*","[b]\\\\1[/b]",$testo); 

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.