Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Evidenziare parole

  1. #1

    Evidenziare parole

    Ciao a tutti, ho la necessità di evidenziare una parte di una frase dopo una ricerca...

    il risultato che vorrei avere ve lo mostro con un esempio:

    parte di parola ricercata: "esca"

    frase in cui ricercare "FRANCESCA"

    frase che risulta dopo l'evidenziatura:

    FRANC<span style="background:#000;color:#FFF">ESCA</span>

    mantenendo maiuscolo e minuscolo originale della frase in cui ricerco.

    Come posso fare?

    Grazie

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    A mio avviso la soluzione migliore e' usare un replace con regular expressin da javascript cosi' non modifiche il testo originale ma lo modifichi lato client.

    Se poi quel testo lo metti in un pannello e lo salvi che succede ?

    io farei un js dove stipare il testo trovato in una var e una funziona che lo stampa nel div con la parola evidenziata cosi' :

    Codice PHP:



    function doHighlight(str word)
    {
        var 
    re = new RegExp(word"g")
        
        return  
    str.replacere '<span class="highlight">'+word+"</span>") ;
        


  4. #4
    Originariamente inviato da cris.calleo
    Questo ti puo aiutare:
    http://www.phpro.org/articles/Highli...rch-Words.html
    Questo è interessante ma non fa ancora pienamente quello che voglio, sen senso:

    Se io ho la frase "ciao mi chiamo Pietro"

    e io cerco "pietro" (con la p minuscola"

    la frase alla sostituzione risulter "ciao mi chiamo <span>pietro</span>"

    io invece vorrei mantenere Pietro con la P maiuscola

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Usa il mio javascript fa proprio quello che chiedi, lo fa lato client e ti da la possibilit di gestire il testo orginale e moddato nella pagina (se hai pannelli di modifica o altro).

    puoi costruirti eventualmente una versione phg usando la preg_replace con pattern simile a quello js(non va messa la "g").

  6. #6
    virus non posso usare javascript devo farlo per forza via php

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Perche' no js ?

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    cm la risolvi cosi


    Codice PHP:

    $str 
    "ciccio Panzo panzo e Panzo panzante e affini" ;

    echo 
    highlight($str,"panz") ;

    function 
    highlight($str,$w)
    {
        return 
    preg_replace'/'.$w.'/' '<span style="color:red">'.$w.'</span>' $str ) ;    


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.