Click here to Skip to main content
Licence 
First Posted 15 Jun 2000
Views 110,125
Bookmarked 41 times

Keyword highlighting in ASP

By | 15 Jun 2000 | Article
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

About the Author

Konstantin Vasserman

Web Developer

United States United States

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
Questionsummrizing the result [modified] Pinmemberferas.a3:03 30 May '06  
QuestionReplace in HTML elements Pinmemberarbpen6:11 4 Feb '06  
GeneralHighlighting and Anchoring PinsussAnonymous10:17 26 Jul '04  
QuestionHow to highlight Multiple Keywords using this Function? PinsussTommyX16:40 17 Jun '03  
AnswerRe: How to highlight Multiple Keywords using this Function? PinsussAnonymous7:17 23 Sep '03  
AnswerRe: How to highlight Multiple Keywords using this Function? PinsussAnonymous18:08 8 Jan '04  
GeneralHighlighting Options in a combo box PinmemberAnonymous4:45 20 May '02  
Questionwhy not regular expression? Pinmemberinternal19:55 6 Feb '02  
AnswerRe: why not regular expression? Pinmembermsraot6:16 5 Jul '04  
GeneralRe: why not regular expression? Pinmemberinternal16:54 6 Jul '04  
Questionkeyword in HTML tags ? PinmemberThomas Parvais11:25 2 Feb '01  
AnswerRe: keyword in HTML tags ? PinmemberKonstantin Vasserman11:36 2 Feb '01  
GeneralRe: keyword in HTML tags ? PinmemberModemMike17:50 15 Apr '02  
GeneralRe: keyword in HTML tags ? PinmemberKonstantin Vasserman18:10 17 Apr '02  

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

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

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120517.1 | Last Updated 16 Jun 2000
Article Copyright 2000 by Konstantin Vasserman
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid