Gracias Shiryu por responder.
Esa función no me es válida ya que, aunque en el código que imprimí anteriormente no aparace estoy usando escape.
¿Alguna otra idea?
Siguiendo con el tema, estoy teniendo problemas con otro código muy parecido.
En esta ocasión la consulta solo encuentra un registro, pero ese registros puede llegar a tener hasta 20000 palabras, así que para ficilitarle al usuario que encuentre en el doc los terminos que ingreso en el buscado, pues quiero resaltarlos
El problema está en que solamente resalta el último termino ingresado
Código PHP:
marca = Trim(Request.QueryString("clave")) ' recoge los terminos de query
array_cadena = Split(marca," ")
plbraClave = unescape(rs.Fields("Clave")) ' este es un listado de palabras claves si alguno de los terminos de la busqueda no encaja con estas palabras claves, se eliminan con la funcion Encuentra
strOriginal = unescape(rs.Fields("Cuerpo")) sobre este texto se busca los terminos resultantes de la funcion Encuentra
PLlave = Encuentra(plbraClave)
Dim arr
arr = Split(Trim(PLlave), " ")
%>
<%=ResaltaParam(PLlave, strOriginal)%>
Estas son las funciones
Código PHP:
Dim n, objRegExp, strClave, Coincidencia, strLlave, strCadena, strMarcado
Function Encuentra (plbraClave) ' elimina terminos prohibidos
For n=0 to UBound(array_cadena)
Set objRegExp = new RegExp
objRegExp.Pattern = "\b("&array_cadena(n)&")+\b"
objRegExp.IgnoreCase = True
objRegExp.Global = True
Set strClave = objRegExp.Execute(plbraClave)
For Each Coincidencia in strClave
strLlave = strLlave & Coincidencia.Value & " "
Next
Encuentra = strLlave
Set strClave = nothing
Set objRegExp = nothing
Next 'n
End Function
Function ResaltaParam (PLlave, strOriginal) ' resalta terminos
For n=0 to UBound(arr)
Set objRegExp = new RegExp
objRegExp.Pattern = "\b("&arr(n)&")+\b"
objRegExp.IgnoreCase = True
objRegExp.Global = True
Set strCadena = objRegExp.Execute(strOriginal)
For Each Coincidencia in strCadena
strMarcado = objRegExp.replace(strOriginal, "<span class=""bgC"&n&""">$1</span>")
Next
ResaltaParam = strMarcado
Set strCadena = nothing
Set objRegExp = nothing
Next 'n
End Function
Gracias