Avatar billede ameq Nybegynder
31. januar 2004 - 20:26 Der er 10 kommentarer og
1 løsning

find visse ord og farv dem

Hej.
Jeg leder efter en metode til at farve en tekst på...

F.eks Hvis ordet "ekperten" stå i en tekst så bliver den farvet med rød... men det skal også være hvis der står Eksperten eller eKperten....
Avatar billede eagleeye Praktikant
31. januar 2004 - 20:30 #1
Du kan bruge replace:

ord = "eksperten"
str = replace(str,ord,"<font color=""red"">" & ord & "</font>",1,-1,1)

Men så vil Eksperten bliver til eksperten og den vil også finde hvis ordet indgår i andre ord.
Avatar billede squashguy Nybegynder
31. januar 2004 - 20:36 #2
En anden mulighed kunne være

ord = "(eksperten|et andet ord)"

Set regex = New RegExp
regex.IgnoreCase = True
regex.Global = True
regex.Pattern = ord

str = regex.Replace(str, "<font color=""red"">$1</font>")
Avatar billede ameq Nybegynder
31. januar 2004 - 20:36 #3
kan man ikke få den ud som man får den ind... med store og små bogstaver? og hvad med en hel line? hvis nu "her er noget tekst" kan man så få den til at være rød?
Avatar billede ameq Nybegynder
31. januar 2004 - 20:37 #4
så skan den søge efter " og "
Avatar billede eagleeye Praktikant
31. januar 2004 - 20:37 #5
jo men regular expresseion:
<%
str = "streng her"

ord = "eksperten"

Set regEx = New RegExp
regEx.Global = true
regEx.IgnoreCase = true
regEx.Pattern = "(^|[^\wæøå])(" & ord & ")([^\wæøå]|$)"
str = regEx.Replace (str,"$1<font color=""red"">$2</font>$3")
Set regEx = Nothing

Response.Write str
%>
Avatar billede ameq Nybegynder
31. januar 2004 - 20:38 #6
squashguy den har jeg prøvet med den taget også ordet "en"...  og det vil jeg også godt undgå... f.eks i ordet bilen så bliver "en" med rød og det skal den ikke
Avatar billede ameq Nybegynder
31. januar 2004 - 20:40 #7
eagleeye er det med stort og små bogstaver eller var det med en hel line?
Avatar billede eagleeye Praktikant
31. januar 2004 - 20:41 #8
store og små,
hvad mener du med hel linje?
Avatar billede steen Nybegynder
31. januar 2004 - 20:42 #9
Function ColorWord(strContent, strWord)
Dim arrTemp, i
arrTemp = Split(strContent, " ")
For i = 0 To Ubound(arrTemp)
  If LCase(arrTemp(i)) = LCase(strWord) Then
    arrTemp(i) = "<font color=red" & arrTemp(i) & "</font>"
  End If
Next
End Function

'Kald funktionen sådan her:
Response.write ColorWord("På eksperten kan du få svar på hvad som helst","eksperten")
Avatar billede eagleeye Praktikant
31. januar 2004 - 20:45 #10
der er ingen problem i at skrive en hel linje som ord hvis der er det du mener??

ord = "Dette er mange ord som alle skal være der .."
Avatar billede ameq Nybegynder
08. februar 2004 - 21:12 #11
sorry men har ikke lige haft tid.. svar lige dem som skal have point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester