Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Ricerca in codice HTML

  1. #1
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355

    Ricerca in codice HTML

    Sera ragazzi!

    Vediamo se qualcuno riesce a darmi un'idea su come risolvere questa situazione:

    Ho un DB con un campo Descrizione(Memo);
    In questo campo viene registrato del codice immesso dall'utente in una TEXTAREA con un editorHTML tipo FCKEditor.

    ora la mia necessità è quella di effettuare una ricerca in questo campo (il solito form cerca) volendo però evidenziare in grassetto nei risultati, le parole ricercate

    il guaio che si verifica è questo :

    se l'utente ricerca un termine non ci sono problemi nella pagina visualizza_risultati.asp ottengo i risultati con la giusta evidenziazione

    ma se scrive comandi html tipo
    allora nascono i problemi
    esempio:
    l'utente ricerca

    nel campo Descrizione è presente il testo: ciao

    quindi nella pagina visualizza_risultati.asp ottengo questo:
    <br> OVVERO UN ERRORE!!!!

    inizio a pensare che questa operazione non si possa effettuare ma spero tanto che a qualcuno di voi venga qualche brillante idea per aiutarmi

    grazie

  2. #2
    Utente di HTML.it L'avatar di iceblu
    Registrato dal
    Jun 2006
    Messaggi
    246
    Prima di lanciare una query puoi pulire la stringa di ricerca con le regular expression

    Qui elimini la possibilità di ricerca di tag

    Codice PHP:
    Set RegularExpressionObject = New RegExp

    With RegularExpressionObject
    .Pattern "<[^>]+>"
    .IgnoreCase True
    .Global = True
    End With 

  3. #3
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    scusami iceblu ma purtroppo questa volta non riesco a cogliere il significato del tuo suggerimento

    cosa intendi per... "prima di lanciare query ripulisci stringa?"

  4. #4
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    ho provato a fare come mi suggerisci ovvero a ripulire l'input immesso dall'utente nel campo cerca e poi effettuare la ricerca ma si verifica sempre lo strosso problema nel momento in cui voglio mettere in evidenza il testo ricercato.

    In pratico succede questo:

    nel campo del DB cìè scritto : bravo 1
    brindisi 2


    nel form di ricerca l'utente inserisce questo valore: br

    dopo la ricerca, come valore restituito ottengo questo codice html:

    bravo 1<br />brindisi 2<br />

    UN VERO DISATRO VVoVe: VVoVe: VVoVe:

  5. #5
    Utente di HTML.it L'avatar di iceblu
    Registrato dal
    Jun 2006
    Messaggi
    246
    un disastro anche in italiano

    Mi viene in mente di salvare anche una versione pura (senza HTML ovvero) e su quella fare ricerca. Un po di tempo fa avevo fatto così.

    Mi sembra di capire che non fai un Server.htmlEncode dei dati presenti nel DB, e cerchi con la clausola LIKE...vero?

  6. #6
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    Si, hai perfettamente ragione.

    Anche io avevo pensato di salvare la vesrione senza html solo che quando poi vado a mostrare i sisultati, perderei la precedente formattazione impostata dall'utente che ha fatto l'inserimento nella textarea o sbaglio?

  7. #7
    puoi applicare la regular expression sull'output della ricerca

  8. #8
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    Ti prego.... spiegami meglio ormai sto per rinunciare perchè mi fuma il cervello VVoVe: le sto provando tutte e questa sarebbe una strada nuova

  9. #9
    la stessa cosa che hai fatto per l'input dell'utente lo fai per con i risultati della ricerca

    se vai su google e fai una ricerca, trovi il testo delle pagine o anche l'html?

    quasi tutti i sistemi di ricerca sono così, poi ci possono essere casi in cui è meglio aver i risultati formattati con l'html

    quindi

    'fai la select
    cn.open("select ...

    'qui avrai il loop
    do while not rs.eof

    'recuperi il risultato
    risultato=rs("descrizione")


    'trasformi l'htm in testo
    risultato=stripTags(risultato)


    'applichi la tua evidenziatura delle parole cercate
    risultato=highlight(risultato,parolechiave)

    'stampi il risultato
    response.write(risultato)

  10. #10
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    forse io rientro in quei casi in cui è meglio aver i risultati formattati con l'html
    chissà come fanno per ottenere sto grassetto!

    Pare che anche con il tuo metodo le cose non filino.

    estraggo rs
    recupero il sisultato del campo
    elimino tutti i < e >
    sostituisco il "termine_ricercato" con termine_ricercato
    ma quando mostro a video il risultato.....
    anche i comandi del codice html sono in grassetto ed in + ho perso la formattazione che l'utente aveva dato al campo




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.