Evidenziare un testo nei risultati di una ricerca con le regular expression

Daniele Bochicchio

di , in Classic ASP, Misc, Coding,

In passato abbiamo già utilizzato script per evidenziare un testo specifico all'interno di uno più ampio.
In realtà l'approccio più semplice e performante fa uso delle regular expressions, attraverso l'oggetto RegExp di VBScript 5.x:

<%

Function Evidenzia(testo, ricerca)
   Set RegEx = New RegExp
  RegEx.Pattern = ricerca
   RegEx.Global = True
   RegEx.IgnoreCase = True

  Evidenzia = RegEx.Replace(testo, "<span class=""highlight"">" & ricerca & "</span>")


  Set RegEx = Nothing
End Function

stringa = "La condivisione dei dati e delle informazioni è stato uno dei motivi principi che hanno dato vita ad Internet. Le ultime tecnologie standardizzate, tra le quali XML, hanno nelle loro peculiarità, la stessa missione della Rete: la divulgazione di informazioni."

Response.Write( Evidenzia(stringa, "XML") )

%>

In questo modo basterà definire una classe highlight nel nostro CSS per avere la parola in maniera evidenziata.