Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    415

    Sottolineare parole chiave

    Ciao a tutti,
    se ho una stringa contenente una parola chiave che voglio sottolineare in un testo, come consigliate di procedere? Purtroppo un semplice replace risulterebbe case sensitive, mentre a me serve case insensitive: sapete aiutarmi?
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    spero di no ma devi fare tutti i tentativi
    Prima maiuscola, tutte minuscole, tutte maiuscole
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  3. #3
    banalmente con un replace
    codice:
    testo="ciao a tutti amici sono pieno di Amici qui intorno AmIcI"
    
    wordToFind="amici"
    wordReplace="<span style=""text-decoration:underline"">amici</span>"
    
    testo=replace(testo,wordToFind,wordReplace,1,-1,1)
    
    response.write testo
    oppure usi le regular expression (caldamente consigliato)...però non mi azzardo nel dirti il pattern visto le mie ultime esperienze

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    415
    Però in questo modo mi sostituisce tutte le parole trovate con parole sottolineate, ma scritte in minuscolo, a me serve che venga scritto l'originale... cmq ho risolto facendo una funzione un po' complicata, ma pare funzionare.

  5. #5
    Penso possa essere utile a tutti se ci facessi vedere come hai risolto!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    415
    Ho creato questa funzione:

    sTestorim è la variabile con il testo di input, aParole l'Array con le parole chiave da evidenziare e sTestodom il testo con le parole chiave evidenziate.
    Lo stile del tag <span> deve essere specificato così:

    <style type="text/css">
    <!--
    span
    {
    background-color: #E0F1FF;
    }
    -->
    </style>

    <%
    'evidenzia le parole chiave nella domanda
    sTestorim = rric("TESTO")
    for i = 0 to uBound(aParole)
    e = 1
    sTestodom = ""
    if InStr(e, uCase(sTestorim), uCase(aParole(i))) <= 0 then
    sTestodom = sTestorim
    else
    do while(InStr(e, uCase(sTestorim), uCase(aParole(i))) > 0)

    'se la prima parola non è tra le parole chiave scrive nella stringa la parte antecedente
    if InStr(e, uCase(sTestorim), uCase(aParole(i))) <> 1 then
    sTestodom = Mid(sTestorim, e, InStr(e, uCase(sTestorim), uCase(aParole(i))) - 1)
    end if

    'scrive la parola chiave evidenziandola
    sTestodom = sTestodom&"<span>"&Mid(sTestorim, InStr(e, uCase(sTestorim), uCase(aParole(i))), Len(aParole(i)))&"</span>"

    'bisogna inserire la parte di testo dopo quella modificata e ripetere il ciclo fino alla fine
    e = e + InStr(e, uCase(sTestorim), uCase(aParole(i))) + Len(aParole(i)) - 1

    sTestorim = Mid(sTestorim, e, Len(sTestorim) - e + 1)

    'se nel testo rimanente non ci sono parole chiave, lo aggiunge alla stringa
    if sTestorim <> "" and InStr(e, uCase(sTestorim), uCase(aParole(i))) <= 0 then
    sTestodom = sTestodom&sTestorim
    end if

    loop
    sTestorim = sTestodom
    end if
    next
    %>

  7. #7
    OK io azzardo la risposta, poi non vi lamentate se ilmio pattern fa schifo

    codice:
    function RegExpReplace(stringa,parola)
    set re=new RegExp
    
    re.ignoreCase=true
    re.Global=true
    
    re.pattern="\b(" & parola & ")\b"
    
    stringa=re.replace(stringa,"<span style=""text-decoration:underline"">$1</span>")
    set re=nothing
    RegExpReplace=stringa
    end function
    
    parolaDasottolineare="pippo"
    
    testo="ciao a tutti.Pippo mi ha detto di andare da pippo e di dire che PiPPo si droga"
    
    response.Write RegExpReplace(testo,parolaDasottolineare)

  8. #8

  9. #9
    Originariamente inviato da Roby_72
    Fa schifo!

    Roby
    almeno ci provo IO



    io gliel'avevo detto di farsi una regExp

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.