Nella creazione di un motore di ricerca basato su un database spesso si pensa solo a fornire i record corrispondenti alla chiave di ricerca, ma si omette di pensare a dei piccoli particolari che rendono più completa la ricerca e/o che forniscano visivamente la una sensazione di precisione maggiore.
Un trucco frequentemente usato anche da importanti Search Engine della rete come Google, è quello di evidenziare in qualche modo le parole chiave di ricerca direttamente all’atto della fornitura del risultato. E’ possibile usare il grassetto o una classe CSS studiata ad hoc per modificare il colore della chiave trovata oppure lo sfondo.
Lascio il discorso stilistico alla fantasia ed alle esigenze del Webmaster interessato; occupiamoci piuttosto della realizzazione dello script descritto attraverso ASP.
Il funzionamento è semplice: creo una funzione accetta come parametri l’intera stringa restituita all’atto della ricerca e la chiave secondo cui la stringa è stata individuata; uso un’espressione regolare fittizia per amalgamare il tutto; la funzione restituirà la stessa stringa del risultato evidenziando, in questo caso, in grassetto la chiave di ricerca e lasciando lo stile predefinito al resto della stringa testuale.
Un esempio di codice:
<%@LANGUAGE = VBScript%>
<%
Function FiltroRicerca(MyText, MyKey)
Dim re
Set re = New RegExp
re.Pattern = MyKey
re.Global = True
re.IgnoreCase = True
FiltroRicerca = re.Replace(MyText, "<b>" & MyKey & "</b>")
Set re = Nothing
End Function
Dim risultato, chiave
risultato = "Proviamo a scrivere qualcosa in questa pagina..."
chiave = "questa"
%>
<html>
<body>
<%=FiltroRicerca(risultato, chiave)%>
</body>
</html>
