---
title: "[BLUE] och [blue]"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12030-blue-och-blue"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "voigtann1"
published: "2001-06-26T09:20:00.000Z"
updated: "2001-10-10T13:30:00.000Z"
replies: 47
views: 413
page: 1
pages: 3
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/12030-blue-och-blue"
---

# [BLUE] och [blue]

_Sida 1 av 3._

## #1 — voigtann1, 2001-06-26T09:20Z

har ett litet problem här:

```
  msg = CStr(Replace(msg, "[blue", "<font color=""#0000FF"" "))
  msg = CStr(Replace(msg, "[/blue", "</font"))

  msg = CStr(Replace(msg, "]", ">"))
```

MEN jag vill att man ska både kunna göra:

etc etc

jag vet att man kan sätta dit alla dom här men det vill jag inte finns det något sätt att göra så att det kvittar hur man skriver ???:e

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

## #2 — Vide, 2001-06-26T09:22Z

Jag föreslår att du använder [Regular Expressions](http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_11.asp) för det... skulle man lämna ute sluttaggen i din kod, så skulle allting efter det bli blått, vilket inte är så bra... ;)

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

## #3 — voigtann1, 2001-06-26T09:23Z

va?? fattar inte ett skit på den sidan.... =)) lol .. kan du förklara lite lättare+

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

## #4 — voigtann1, 2001-06-26T09:27Z

jag kanske förklarade lite dåligt här e koden som jag använder:

```
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
  msg = Request.Form("meddelande")
  msg = Server.HTMLEncode(msg)
  msg = objRegExp.IgnoreCase = true
  msg = CStr(Replace(msg, vbcrlf, "<br>"))

  msg = CStr(Replace(msg, "[blue", "<font color=""#0000FF"" "))
  msg = CStr(Replace(msg, "[/blue", "</font"))
  msg = CStr(Replace(msg, "[red", "<font color=""#FF0000"" "))
  msg = CStr(Replace(msg, "[/red", "</font"))
  msg = CStr(Replace(msg, "[white", "<font color=""#FFFFFF"" "))
  msg = CStr(Replace(msg, "[/white", "</font"))
  msg = CStr(Replace(msg, "[red", "<font color=""#FF0000"" "))
  msg = CStr(Replace(msg, "[/red", "</font"))
  msg = CStr(Replace(msg, "[yellow", "<font color=""#FFFF00"" "))
  msg = CStr(Replace(msg, "[/yellow", "</font"))
  msg = CStr(Replace(msg, "[green", "<font color=""#008000"" "))
  msg = CStr(Replace(msg, "[/green", "</font"))

  msg = CStr(Replace(msg, "[color=#", "<font color=#"))
  msg = CStr(Replace(msg, "[/color", "</font"))

  msg = CStr(Replace(msg, "]", ">"))
```

det e till min gästbok typ så =)) jag e rätt ny på det här med ASP

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

## #5 — cherub, 2001-06-26T10:25Z

Eller så tar du bara det som de skrivit och gör en uppercase på... och därefter ersätter  ...

.rickard

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

## #6 — @nders, 2001-06-26T10:29Z

```
va?? fattar inte ett skit på den sidan.... =)) lol .. kan du förklara lite lättare
```

med tanke på att du postade ditt inlägg en minut efter det att vide postade länken så tycker jag nog att du inte kan ha läst ordentligt. det är rätt sätt att gå med regular expressions.

cherub: VAD SNYGGT DET BLIR NÄR ALLT MAN SKRIVER SOM SKA VARA BLÅTT OCKSÅ BLIR VERSALER! ;)

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

## #7 — cherub, 2001-06-26T10:49Z

det var ju inte så det var tänkt...

om man ersätter  med versaler till

 då vet man ju att det alltid är i VERSALER... fast det kanske inte riktigt funkar så bra här kom jag på sedan... man måste ju ändå kolla de olika kombinationerna.

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

## #8 — voigtann1, 2001-06-26T10:55Z

hehehe okey hade inte läst den riktigt men kollade igenom det... tror inte den skulle hjälpa mig =)) lol . läste igenom det fattar fortfarande inte... =) jag kanske bara helt enkelt ska ha  hela tiden.. om någon skriver  så e det deras problem =)

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

## #9 — jepsO, 2001-06-26T11:24Z

Jag satte mig ner och försökte klura ut hur det skulle lösas med RegExp. Följande Pattern kom jag fram till (som inte riktigt stämmer): **\\\[(/\\w{1,})&#0124;(\\w{1,})\\\]**

Min tanke är att första hitta "\[", sedan "ord" eller "/ord" och slutligen "\]". Problemet är att den tar med \[\] i "if-satsen", dvs ()&#0124;(). Detta gör att den antingen hittar \[/ord eller ord\], istället för \[/ord\] och \[ord\]. Har ingen större betydelse för själva replacen, men det är duktigt irriterande ;).

Sedan måste det väl gå att göra en replace-variabel som är en smula "dynamisk". I normala fall bruka det alltid vara strReplace = "nyttord", men jag skulle vilja ha nåt i stil med strReplace = ucase(item.Value).

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

## #10 — Vide, 2001-06-26T11:40Z

Enligt min RegExp-editor så borde detta mönster fungera:

**\\\[(\\w+)\[^\>\]\*?\\\](.\*?)\\\[/\\1\\\]**

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

## #11 — jepsO, 2001-06-26T11:43Z

Nope, fungerar inte alls.

Men till min andra fråga: hur gör jag med RegExp-Replace för att göra alla träffar versala?

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

## #12 — Vide, 2001-06-26T12:44Z

regex.IgnoreCase = true

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

## #13 — jepsO, 2001-06-26T12:53Z

IgnoreCase är väl bara att den inte bryr sig om stora/små bokstäver när den letar efter träffar? Såhär ser min kod ut hittills:

```
str = "[hejsan] på [/dejsan] mmm [aaa] [/i] [/b] [u]"
Set objRegExp = new RegExp
WITH objRegExp
	.IgnoreCase = true
	.Global = true
	.Pattern = "\[(/\w{1,})&#0124;(\w{1,})\]"
END WITH
```

Nu undrar jag, hur ska jag får texten innanför \[\] att ersättas med enbart versaler? I normala fall skriver man ju nåt sånt här:

```
strReplace = "b"
objRegExp.Replace(str, strReplace)
```

Jag tänkte först att jag kunde köra en FOR EACH item IN myMatches-grej och sen en satans massa stränghantering, men det borde ju gå att replaca direkt med objRegExp.Replace. Eller?

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

## #14 — Vide, 2001-06-26T13:05Z

Eh, förklara för mig som verkar vara lite dum varför du vill konvertera texten till uppercase :q

Ser inte någon relevans i det... Det jag tänkte att du skulle använda RegEx till var att ersätta taggarna till riktiga taggar. Inte att konverter dom till UCase.

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

## #15 — jepsO, 2001-06-26T13:14Z

Möjligt att jag missförstod, men jag trodde att han redan hade kod som ersatte  med \<font color="blue"\>, men att det blev problem om han skrev . Egentligen är det väl smartare att köra RegExp rakt igenom, men jag har tidigare haft problem med att jag vill använda VBScript på träffarna, t.ex. som här att göra om dem till stora bokstäver.

Det går ju att skriva **str = objRegExp.Replace(str, "\<b\>$1$2\</b\>")** om jag vill göra träffarna feta, men hur implementerar jag ASP/VBScript i själva replacen? **ucase("$1$2")** fungerade inte :(.

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

## #16 — Vide, 2001-06-26T13:26Z

Visst hade han en kod som konverterade, men problemet som jag sade i mitt första inlägg var att det finns en massa buggar i att göra på det viset, och att det skulle fungera bättre att använda RegEx... :)

> men hur implementerar jag ASP/VBScript i själva replacen?

Det gör du inte (vad jag vet, mönstret är ju bara en sträng), det du får göra är att, som du säger, köra en "For Each" och köra en vanlig replace på dessa... Men detta behövs ju inte om du konverterar till taggar direkt... alltså är det en omväg... ;)

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

## #17 — Janspeed, 2001-06-26T13:49Z

Jag är inte så jättehaj på regExp men prova denna kod. :)

```

<%

'Testar RegExp

strText = "Text med  [red] färgkoderna [/red] som [green] ska ersättas[/green]."

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true

objRegExp.Pattern = "\[(blue)\]"
strText = objRegExp.Replace(strText,"<font color=""$1"">")

objRegExp.Pattern = "\[(red)\]"
strText = objRegExp.Replace(strText,"<font color=""$1"">")

objRegExp.Pattern = "\[(green)\]"
strText = objRegExp.Replace(strText,"<font color=""$1"">")

objRegExp.Pattern = "(\[/blue\]&#0124;\[/red\]&#0124;\[/green\])"
strText = objRegExp.Replace(strText,"</font>")

Response.write strText

%>
```

/JANspeed

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

## #18 — Janspeed, 2001-06-26T13:53Z

Tanken är att du ska kunna blått, rött och grönt. Dvs. \[färg\] blaha text \[/färg\].

/JANspeed

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

## #19 — voigtann1, 2001-06-26T16:27Z

hehee... fattar inte mycket här vad ni skriver =)) e nog allmänt trög lr ngt. ska jag ta bort min sånt och göra en ny lr vad?

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

## #20 — Janspeed, 2001-06-27T06:53Z

Det min kod gör är precis vad det du ville skulle hända. 

Prova att kopiera mitt script och sedan lägger du texten med \[färg\]\[/färg\] koderna i variabeln strText så kommer du se resultatet. De färger du kan använda är blue, red och green. 

Tex. \[green\]Denna text ska vara grön \[/green\]. 

Det funkar för mig i alla fall. :)

/JANspeed

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/12030-blue-och-blue  
Nästa sida: https://www.webforum.nu/amne/asp/12030-blue-och-blue/page2.md
