Car Credit - Loan - Web Advertising - Car Finance - Cheap Flights

PDA

View Full Version : Highlight keyword's array


gilgalbiblewheel
Jul 1st 2005, 11:53 am
I need to highlight the array of the "keyword".

<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">
Function Highlight(strText, strFind, strBefore, strAfter)
Dim nPos
Dim nLen
Dim nLenAll

nLen = Len(strFind)
nLenAll = nLen + Len(strBefore) + Len(strAfter) + 1

Highlight = strText

If nLen > 0 And Len(Highlight) > 0 Then
nPos = InStr(1, Highlight, strFind, 1)
Do While nPos > 0
Highlight = Left(Highlight, nPos - 1) & _
strBefore & Mid(Highlight, nPos, nLen) & strAfter &_
Mid(Highlight, nPos + nLen)

nPos = InStr(nPos + nLenAll, Highlight, strFind, 1)
Loop
End If
End Function
</SCRIPT>
<%
'OPTION EXPLICIT
Dim strText, strFind

strFind=keyword
strText=RS("text_data")
strText= Highlight(strText, strFind,"<font color='red'><b>", "</b></font>")

Response.Write strText
%>

T0PS3O
Jul 1st 2005, 11:56 am
And I need to clean my room.

Are you asking us anything?

jorge
Jul 1st 2005, 12:21 pm
do you mean that "keyword" needs to be an array, and you need to highlight each word of the array? or what

gilgalbiblewheel
Jul 1st 2005, 12:44 pm
do you mean that "keyword" needs to be an array, and you need to highlight each word of the array? or what

Sorry I didn't ask my question properly, but yes that's what I'm looking for.

Searching Example:
Keyword= anger wrath riot

Keyword will break apart to anger, wrath, riot
And then highlight in the given color (red) all of them in the text searched for.

jorge
Jul 1st 2005, 1:13 pm
ok! here it goes...

strText=RS("text_data")
strFindarray=split(keyword, " ")
for i=0 to ubound(strFindarray)
strText = Highlight(strText, strFindarray(i),"<font color='red'><b>", "</b></font>")
next

I have not written code in classic asp for a long time (i use asp.net for 3 years now!), but i hope it helps!
to get the idea at least! :)

gilgalbiblewheel
Jul 1st 2005, 2:53 pm
Microsoft VBScript compilation error '800a0410'

Invalid 'for' loop control variable

/wheelofgod/highlight.asp, line 30

For i = 0 to UBound(strFindarray)
------^

jorge
Jul 2nd 2005, 6:12 pm
you probably need to define the variable i... dim i as integer

RodgerDJr
Feb 3rd 2006, 8:20 am
This only works for the last keyword in the array, has anyone found a solution?

Thank you,
Rodger

ok! here it goes...

strText=RS("text_data")
strFindarray=split(keyword, " ")
for i=0 to ubound(strFindarray)
strText = Highlight(strText, strFindarray(i),"<font color='red'><b>", "</b></font>")
next

I have not written code in classic asp for a long time (i use asp.net for 3 years now!), but i hope it helps!
to get the idea at least! :)

chippi
Feb 9th 2006, 6:00 pm
it's not related about this thread exactly but generally on the search results i use this too simple function.

function highlight(keyword,text)
var new_text=Replace(text,keyword,"<span class=highlight>"&keyword&"</span>")
highlight=new_text
end function