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

    informazione str_replace

    Ciao a tutti, voglio utilizzare la funzione str_replace per evidenziare il testo che io cerco, contenuto nell' oggetto di una notizia.

    Es: dal motore di ricerca digito "al"

    Vorrei che "al" fosse evidenziato nei risultati che mi vengono restituiti.

    Ho fatto quindi:

    $nuova_stringa=str_replace("$stringa_cercata", "$stringa_cercata_evidenziata", "$testo_notizia");

    Funziona tutto bene, ma ho il problema del case sensitive, cioè .. nell'esempio riportato, mi vengono evidenziate solo le "al" mentre non vengono evidenziate le "AL" e le "Al" (che vengono restituite nella ricerca ..... WHERE testo_notizia LIKE '%$stringa_cercata%')

    come posso risolvere?
    aquatimer2000

  2. #2
    Utilizza str_ireplace() oppure un'espressione regolare. Comunque se la stringa in cui devi effettaure la sostituizione è HTML, devi gestire correttamente i tag.

  3. #3
    Ciao filippo.toso!

    ho provato str_ireplace però ho questo altro problema:

    stringa originale "APPROVAZIONE DEL PROGETTO DI..." (scritta in maiuscolo...)

    se io nell'input di ricerca scrivo "approva", tramite la funzione str_ireplace ottengo questo risultato:

    "approvaZIONE DEL...." con la parte di testo correttamente evidenziata, solo che parte della parola me la trovo scritta in minuscolo..

    come posso correggere?
    aquatimer2000

  4. #4
    Ciao,
    come ti ha segnalato Filippo puoi utilizzare le espressioni regolari.
    Supponendo che evidenzi la stringa scrivendola in rosso:
    Codice PHP:
    $testo_evidenziato preg_replace'/('.$testo_da_cercare.')/i' '<span style="color:#ff0000">$1</span>' $testo_originale); 
    Alessandro
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  5. #5
    perfetto, proprio quello che cercavo!
    grazie!
    aquatimer2000

  6. #6
    ah .. mi spiegate a grandi linee come funziona preg_replace..

    ho dato un'occhiata al manuale ma non ci ho capito più tanto.

    Grazie !
    aquatimer2000

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.