---
title: "Markera med fetstil"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/57702-markera-med-fetstil"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Asa"
published: "2002-11-01T07:11:45.000Z"
updated: "2002-11-01T09:58:53.000Z"
replies: 14
views: 591
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/57702-markera-med-fetstil"
---

# Markera med fetstil

## #1 — Asa, 2002-11-01T07:11Z

Hur får man det ordet som man ex skriver i en söktjänst att bli fetstilt utan att bli exakt som man skrev i sökordet.

Har nu en grej som Replacar alla ord men då blir du ex om man skriver ett sökord med små bokstäver så byts alla ut till små. Inge bra :/

Hur ska man göra?

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

## #2 — Jesper T, 2002-11-01T07:42Z

regexp skulle jag tippa på

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

## #3 — Jesper T, 2002-11-01T07:45Z

```
<%
Function PunchWord(astring,sokord)

	
	Set objRegExp = New RegExp
		objRegExp.Global = True
		objRegExp.IgnoreCase = true
		objRegExp.Pattern = "" & Replace(sokord,".","\.")

		Set matchesa = objRegExp.Execute(astring)
			For Each matcha In matchesa
				astring = Replace(astring,matcha,"<b>" & matcha & "</b>")
			Next
		Set matches = Nothing
		
	Set objRegExp = Nothing
	PunchWord = astring
End Function

%>
<%=PunchWord("min text här sa det sa","text")%>
```

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

## #4 — Asa, 2002-11-01T07:58Z

Ska testa på en gång :) Funkade perfekt! Supertack till dig!

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

## #5 — Asa, 2002-11-01T08:31Z

Nu vill jag även att det ska stå hur många gånger ordet fanns med i sökresultatet. Hur gör jag då?

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

## #6 — icaaq, 2002-11-01T08:40Z

Jag vet inte hur du skall få det att funka med denna funktion men du skall använda 

```
[red]matchesa.count[/red]
```

Mer info om RegExp på [webeye.nu](http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_11.asp) ;)

mvh icaaq

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

## #7 — Asa, 2002-11-01T08:43Z

Okej! Jag kollar lite där å ser om jag får till det. Tackar!

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

## #8 — Erik Juhlin, 2002-11-01T08:50Z

En kortare funktion:

```
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
```

Även i VB:

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

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

## #9 — Asa, 2002-11-01T09:04Z

Vad gör ByVal ? 
Har du nåt bra för att räkna antal träffar? Har läst på Webeye men förstår inte riktigt hur jag ska göra!

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

## #10 — PatrikB, 2002-11-01T09:27Z

ByVal kopierar variabeln ned i funktionen, ByRef skickar bara en reference till vart i minnet en funktion/sub kan hitta variabeln.

Vet inte om det är detta du är ute efter, men här kommer en klass:

clsMarkWord.asp
\============

```
<%
Class MarkWord

	Private m_intWordCount ' As Integer
	
	Public Property Let WordCount(ByVal iWordCount) ' As Integer
		m_intWordCount = iWordCount
	End Property
	
	Public Property Get WordCount
		WordCount = m_intWordCount
	End Property
	
	Public Function MarkSearchedWords(ByVal sContent, ByVal sSearchedWord) ' As String
		DIm objRegExp
		Dim Matches 
		Dim Match
		
		Set objRegExp = New RegExp
			objRegExp.Global = True
			objRegExp.IgnoreCase = true
			objRegExp.Pattern = "" & Replace(sSearchedWord,".","\.")
	
			Set Matches = objRegExp.Execute(sContent)
				'## -- how many matches have we found --
				WordCount = Matches.Count
				
				'## -- mark every match with bold --
				For Each Match In Matches
					sContent = Replace(sContent,Match,"<b>" & Match & "</b>")
				Next
			Set matches = Nothing
			
		Set objRegExp = Nothing
		MarkSearchedWords = sContent
	End Function
	
End Class
%>
```

Funkar så här:

test.asp
\======

```
<%
strContent = "Detta är en bra text att söka i. Om vi är bra, så här vi kanonbra, eller är vi bara bra?"

Set objMW = New MarkWord
	strOutPut = objMW.MarkSearchedWords(strContent,"vi")
	Response.Write "Antal träffar: " & objMW.WordCount & "<HR noshade size=""1"">" & _
		strOutPut
Set objMW = Nothing
%>
<!--#INCLUDE VIRTAL="/classes/clsMarkWord.asp"-->
```

härligger klass-filen i en katalog, classes, och länkas in med SSI, som "vanligt"

Mer funktionalitet kan byggas i klassen vid behov

cya,
PatrikB

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

## #11 — Molna, 2002-11-01T09:31Z

Om du använder dig av det första exemplet kan du tex göra så här:

```

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

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

%>
<BR>Version 1: <%=PunchWord("min text här sa det sa","sa")%>
<BR>Antal träffar: <%=rakna%>
```

Fast det finns säkert något tjusigare sätt:)

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

## #12 — Asa, 2002-11-01T09:31Z

Ska se om det var det jag var ute efter :) Återkommer!

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

## #13 — Asa, 2002-11-01T09:44Z

Tackar Molna. Det funka fint!

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

## #14 — PatrikB, 2002-11-01T09:49Z

Fast, molnas kod gör exakt det min klass gör ...... enda skillnaden är att du lättare kan lägga till funktionalitet i klassen, mer skalbarhet och du slipper globala variabler som förr eller senare fixar en bugg

cya,
PatrikB

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

## #15 — Asa, 2002-11-01T09:58Z

Hmm, okej! Men det behövs nog inge mer än bara det att göra fetstil och räkna träffar!

Men jag kommer dock testa din kod Partik.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/57702-markera-med-fetstil
