Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151

    evidenzia risultati ricerca case sensitive

    Ciao a tutti,
    utilizzo questa funzione per evidenziare nei risultati della ricerca la chiave cercata:

    Codice PHP:
    $Note_ev str_replace($chiave,'<span style="font-weight:bold; background-color:yellow">'.$chiave.'</span>',$Note); 
    L'unico problema è che mi evidenzia solo le chiavi in case sensitive.

    Se io digito nel campo di ricerca 'pasquale',mi vengono fuori tutte le pratiche con il nome pasquale (perchè il LIKE è case insensitive e va bene), ma mi evidenzia solo le chiavi 'pasquale' e non 'Pasquale' o 'PASQUALE'.

    Come faccio a far capire che mi deve evidenziare il tutto indipendentemente dal maiuscolo/minuscolo?

    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    Credo di aver risolto cambiando la stringa da:

    str_replace

    a:

    eregi_replace

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    Ciao a tutti,
    utilizzavo questa funzione di evidenziazione di una chiave nei risultati.

    Ora è nata l'esigenza di inserire una nuova chiave di ricerca (in totale due chiavi di ricerca con l'attributo AND e cioè se inserisco l'altra chiave entrambi i termini devono coesistere nel risultato).

    Come utilizzo la funzione eregi_replace con due chiavi per evidenziare nei risultati leparole ricercate?

    Magari è una cavolata, ma al momento non riesco. Grazie

    Codice PHP:
    if (isset($chiave)){ 
    $dati mysql_db_query"$db","select *, tbl_Clienti.Nominativo as cliente_nome, tbl_Controparti.Nominativo as controparte_nome FROM tbl_Clienti, tbl_Controparti, tbl_Operatori, tbl_Pratiche WHERE tbl_Clienti.ID_Cliente = tbl_Pratiche.ID_Cliente AND tbl_Controparti.ID_Controparte = tbl_Pratiche.ID_Controparte AND tbl_Operatori.ID_Operatore = tbl_Pratiche.ID_Operatore AND tbl_Operatori.Sigla_Operatore='$SO' AND tbl_Pratiche.Stato=1 AND $valore LIKE '%$chiave%' AND $valore2 LIKE '%$chiave2%' ORDER BY Data_Apertura"); 
    $righe mysql_num_rows ($dati); 
    $i=0;
    echo 
    "<p align=center>Ci sono $righe pratiche che hanno all'interno il termine <span style=\"font-weight:bold; background-color:yellow\">$chiave</span>[/b] e <span style=\"font-weight:bold; background-color:yellow\">$chiave2</span>[/b]</p></tr>";
    while (
    $row = @mysql_fetch_array ($dati)){ 
    $verifica=$row"cliente_nome"]; 
    $Note=$row"Note"];
    $Note_ev eregi_replace($chiave,'[b]<span style="font-weight:bold; background-color:yellow">'.$chiave.'</span>[/b]',$Note);
    if(
    $i%2==0): 
    $colore="bgcolor=#FFFFFF"
    else: 
    $colore="bgcolor=#FFFFCC"
    endif; 
    Con questo codice mi evidenzia solo una chiave...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    intanto nel tuo caso sarebbe meglio str_ireplace non ereg... perchè usi sostituzioni semplici e non espr. regolari, poi se il tuo "problema" è solo di fare le sostituzioni per due parole anzichè una puoi semplicemente passare un array come primo parametro alla funzione... es.:
    Codice PHP:
    $tag_open '[b]<span style="font-weight:bold; background-color:yellow">';
    $tag_close '</span>[/b]';
    $Note_ev str_ireplace(array($chiave1$chiave2),array($tag_open.$chiave1.$tag_close$tag_open.$chiave2.$tag_close), $Note); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    Grazie mille.

    Solo che deve esserci un errore, perchè non mi evidenzia nulla nel risultato....

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    Risolto!

    Era un errore mio sulla variabile.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    bene!

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.