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=[COLOR=Red]keyword[/COLOR] strText=RS("text_data") strText= Highlight(strText, strFind,"<font color='red'><b>", "</b></font>") Response.Write strText %> Code (markup):
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.
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 Code (markup): 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!
Microsoft VBScript compilation error '800a0410' Invalid 'for' loop control variable /wheelofgod/highlight.asp, line 30 For i = 0 to UBound(strFindarray) ------^ Code (markup):
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