grazie per il tuo interesse fcaldera.
ho costruito un piccolo e semplice motore di ricerca che prende una stringa da una cella di un database, trova il termine, e riporta solo una frase evidenziandola in grassetto.
sono riuscito grazie ai vostri consigli a fare tutto, tranne a riportare il termine cercato in grassetto, questo è una parte di script:
codice:
<%
'formatto il campo per i risultati abbreviati, la stringa deve essere unica senza a capo e senza apice
termineX = replace(recordset("descrizione"),vbCrlf,"")
termineX = replace (termineX,Chr(34),"'")
%>
<script language="javascript1.2" type="text/javascript">
stringa = "<%= termineX %>";
termine = /<%=termine%>/i;
lunghTermine = termine.length;
'restituisce la posizione del termine, (qui va messo un controllo)
ponr = stringa.search(termine);
'finchè esiste un termine nella stringa elenca da punto a punto (prendi frase)
while (ponr != -1) {
punto2= stringa.indexOf(".",ponr);
punto1= stringa.lastIndexOf(".",ponr);
risultato = stringa.substring(punto1+1,punto2);
risultato = risultato.replace(termine,termine.big());'QUI SBAGLIO
document.write("..."+risultato+"...
");
ponr = stringa.indexOf(termine, ponr+lunghTermine);'sposta il cursore dal termine cercato in poi
};
</script>
che ne dici??? da perfezionare indubbiamente, ma nello stesso tempo semplice.
dove sbaglio ovviamente ho provato anche con
codice:
risultato = risultato.replace(termine,(""+termine+""));
ma mi restituisce il termine con /termine/i
sto leggendo qualche tutorial in inglese (che ho poca confidenza), e sto elaborando il primo caso usando RegExp.
Grazie, ciao.