Click here to Skip to main content
15,891,529 members
Articles / Web Development / IIS
Article

Keyword highlighting in ASP

Rate me:
Please Sign up or sign in to vote.
1.00/5 (1 vote)
15 Jun 2000 140.2K   41   16
A simple function to highlight keywords in ASP

Sample Image - Highlight.gif

Introduction

While working on the my version of the message board ASP scripts I have found myself in the need of a function that would highlight certain keywords within the text of the messages.

My first idea was to use VBScript's built-in Replace() function. The only problem with Replace was that I was not able to preserve the original case of the letters within the text. Consider following example:

myText = "Using Replace function to make word REPLACE bold."
myText = Replace(myText, "replace", "<b>replace</b>", 1, -1, 1)

The resulting string will be "Using <b>replace</b> function to make word <b>replace</b> bold.". It did make all the words "Replace" bold, but it also changed the case of these words from their original case.

This is why I had to write this little Highlight function. There is nothing special about this function, but it does what I needed it to do and I hope that you could use it somewhere in your ASP scripts as well. So here it is:

'*****************************************************************************
' HIGHLIGHT function will search text for a specific string
' When string is found it will be surrounded by supplied strings
'
' NOTE: Unfortunately Replace() function does not preserve the original case 
' of the found string. This function does.
'
' Parameters:
' strText 	- string to search in
' strFind	- string to look for
' strBefore	- string to insert before the strFind
' strAfter 	- string to insert after the strFind
'
' Example: 
' This will make all the instances of the word "the" bold
'
' Response.Write Highlight(strSomeText, "the", "<b>", "</b>")
'
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
'********************************************************************************

To use this function - include it in your ASP scripts and call it like this:

Response.Write Highlight(myText, "someword", "<font color=red>", "</font>")

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
Questionsummrizing the result [modified] Pin
feras.a30-May-06 3:03
feras.a30-May-06 3:03 
QuestionReplace in HTML elements Pin
arbpen4-Feb-06 6:11
arbpen4-Feb-06 6:11 
GeneralHighlighting and Anchoring Pin
wolfpackks26-Jul-04 10:17
wolfpackks26-Jul-04 10:17 
QuestionHow to highlight Multiple Keywords using this Function? Pin
tommyx17-Jun-03 16:40
tommyx17-Jun-03 16:40 
AnswerRe: How to highlight Multiple Keywords using this Function? Pin
Anonymous23-Sep-03 7:17
Anonymous23-Sep-03 7:17 
AnswerRe: How to highlight Multiple Keywords using this Function? Pin
Anonymous8-Jan-04 18:08
Anonymous8-Jan-04 18:08 
GeneralHighlighting Options in a combo box Pin
20-May-02 4:45
suss20-May-02 4:45 
Questionwhy not regular expression? Pin
internal6-Feb-02 19:55
internal6-Feb-02 19:55 
AnswerRe: why not regular expression? Pin
msraot5-Jul-04 6:16
msraot5-Jul-04 6:16 
GeneralRe: why not regular expression? Pin
internal6-Jul-04 16:54
internal6-Jul-04 16:54 
Have you taken a look other great articles? such as
http://www.codeproject.com/jscript/highlight.asp[^]

Sing when we're programming.
Questionkeyword in HTML tags ? Pin
2-Feb-01 11:25
suss2-Feb-01 11:25 
AnswerRe: keyword in HTML tags ? Pin
Konstantin Vasserman2-Feb-01 11:36
Konstantin Vasserman2-Feb-01 11:36 
GeneralRe: keyword in HTML tags ? Pin
15-Apr-02 17:50
suss15-Apr-02 17:50 
GeneralRe: keyword in HTML tags ? Pin
Konstantin Vasserman17-Apr-02 18:10
Konstantin Vasserman17-Apr-02 18:10 
AnswerRe: keyword in HTML tags ? Pin
julianjordan4-Jan-17 1:08
julianjordan4-Jan-17 1:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.