---
title: "Highlightfunktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/131556-highlightfunktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Meng"
published: "2005-07-18T09:48:49.000Z"
updated: "2005-07-19T10:57:28.000Z"
replies: 7
views: 399
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/131556-highlightfunktion"
---

# Highlightfunktion

## #1 — Meng, 2005-07-18T09:48Z

Kan man på nåt sätt göra nåt linknade nedan:
t ex:
namn: ringresterevägen 4
Exempel på önskad funktion:

```
highlight = "r"

[i]Funktion[/i](RecSet("namn"),<B>" & highlight & "</B>)

Output: [b]r[/b]ing[b]r[/b]este[b]r[/b]evägen 4
```

Permalänk: https://www.webforum.nu/p/131556

## #2 — @nders, 2005-07-18T10:44Z

Hur är det med sökkunskaperna?

Exempel: <http://www.webforum.nu/showthread.php?s=&postid=479910#post479910>

Permalänk: https://www.webforum.nu/p/1646849

## #3 — Meng, 2005-07-18T11:58Z

Det där hittade jag faktiskt, men jag fattar inte hur jag använder det...

Permalänk: https://www.webforum.nu/p/1646861

## #4 — Meng, 2005-07-18T12:08Z

```
sSearchWord = Request.Querystring("sokord")
sDatabaseString = Request.Querystring("falt")

Function MarkSearchWord(ByVal sDatabaseString, _ 
    ByVal sSearchWord)
    
    Dim objRegExp
    
    Set objRegExp = New RegExp
    objRegExp.Global = True
    objRegExp.IgnoreCase = True
    objRegExp.Pattern = "(" & sSearchWord & ")"
    
    MarkSearchWord = objRegExp.Replace(sDatabaseString, "<b>$1</b>")
    
    Set objRegExp = Nothing
    
End Function
```

Skriver ut med:

```
<%=MarkSearchWord(RecSet(sDatabaseString))%>
```

Men det funkar ej..

Permalänk: https://www.webforum.nu/p/1646862

## #5 — Meng, 2005-07-18T12:17Z

Okej detta funkade ju..

```
visafalt = Request.Querystring("falt")
sokord = Request.Querystring("sokord")

dim rakna
Function PunchWord(visafalt,sokord)
rakna = 0
	
	Set objRegExp = New RegExp
		objRegExp.Global = True
		objRegExp.IgnoreCase = true
		objRegExp.Pattern = "" & Replace(sokord,".","\.")

		Set matchesa = objRegExp.Execute(visafalt)
			For Each matcha In matchesa
				visafalt = Replace(visafalt,matcha,"<b>" & matcha & "</b>")
rakna = rakna + 1
			Next
		Set matchesa = Nothing
		
	Set objRegExp = Nothing
	PunchWord = visafalt
End Function
```

```
<%=PunchWord(RecSet(visafalt),sokord)%>
```

<http://www.webforum.nu/showthread.php?s=&postid=479944#post479944>

Permalänk: https://www.webforum.nu/p/1646864

## #6 — Erik Juhlin, 2005-07-18T15:53Z

Punchword funktionen är inte särskilt smart.
1\. Att få tillbaka en matchcollection, loopa igenom och replacea är ganska dumt prestandamässigt och snygghetsmässigt om man jämför med att bara replacea direkt med regexp.
2\. Om man använder den för att söka och söker efter t.ex. R så kommer alla r i texten bli till versaler.

Permalänk: https://www.webforum.nu/p/1646894

## #7 — @nders, 2005-07-18T16:26Z

Erik Juhlins funktion fungerar klockrent.

På vilket sätt fungerar det inte för dig, Meng?

Permalänk: https://www.webforum.nu/p/1646902

## #8 — Meng, 2005-07-19T10:57Z

Jag vet @nders! jag började använda den också nu har bara inte tänkt på att skriva in det här. Det är mycket bättre att säga att värdet skal vara mellan \<b\>och \</b\> än att recca ut det på båda sidor om värdet för om man t ex söker på "b" och den funna posten har "bbbbb" så går det helt galet med Punchword, varför kan jag inte förklara men det kan säkert ni.

Red. *Såg att Erik redan förklarat det lite mer proffesionellt ovan =)*

Permalänk: https://www.webforum.nu/p/1647062

---

Tråden på webben: https://www.webforum.nu/amne/asp/131556-highlightfunktion
