Avatar billede 2001stausholm Nybegynder
05. januar 2003 - 16:54 Der er 7 kommentarer og
1 løsning

Upper Lower Case

http://www.eksperten.dk/spm/301191

tmpstrin = Replace(rs("funktionsenhed"), strKeyword, "<b>" & strKeyword & "</b>")

Response.write tmpstrin

Jeg kører med ovenstående funktion til at highlighte den søgte streng. Den displayer det korrekt hvis jeg søger på eks. Oscar men ikke oscar, kan man sætte strengen op så den er ligeglad om det er upper eller lower case.

/2001stausholm
Avatar billede medions Nybegynder
05. januar 2003 - 17:10 #1
Det er vel din SQL der skal laves om der!
Kan jeg ik' lige se din SQL statement?

//>Rune
Avatar billede 2001stausholm Nybegynder
05. januar 2003 - 17:18 #2
Her er den

strKeyword = Trim(Request.Form("Keyword"))
  If Len(strKeyword) = 0 Then
  Response.Clear
    Response.Redirect("ingen.asp")
    Else
      strKeyword = Replace(strKeyword,"'","''")
      End If
      strSQL = "SELECT funktionsenhed, Stilling FROM que_person WHERE"
      strSQL = strSQL & " OR (funktionsenhed LIKE '%" & strKeyword & "%')"
      strSQL = strSQL & " OR (stilling LIKE '%" & strKeyword & "%')ORDER BY stilling"

      set conn=server.createobject("adodb.connection")
    Conn.Open "Person"
  Set rs = Conn.Execute(strSQL)
Avatar billede eagleeye Praktikant
05. januar 2003 - 17:19 #3
Så skal replace udvides havde nogle ekstra parametre med så den er ligeglad med størrelsen på bogstavet.:

tmpstrin = Replace(rs("funktionsenhed"), strKeyword, "<b>" & strKeyword & "</b>",0,-1,1)
Avatar billede 2001stausholm Nybegynder
05. januar 2003 - 17:32 #4
Den returnerer

Microsoft VBScript runtime (0x800A0005)
Invalid procedure call or argument: 'Replace'

Hvis jeg indsætter følgende

tmpstrin = Replace(rs("funktionsenhed"), strKeyword, "<b>" & strKeyword & "</b>",0,-1,1)
Avatar billede eagleeye Praktikant
05. januar 2003 - 17:53 #5
Ja ok jeg har skrevet 0 som første karakter prøv men denne så første karakter er 1:

tmpstrin = Replace(rs("funktionsenhed"), strKeyword, "<b>" & strKeyword & "</b>",1,-1,1)
Avatar billede 2001stausholm Nybegynder
05. januar 2003 - 19:27 #6
Det virker nu, jeg kunne blot godt tænke mig at den ikke retter det displayede til lower/upper case alt efter hvad jeg har søgt på.
Avatar billede eagleeye Praktikant
05. januar 2003 - 19:59 #7
ok det så fordi strKeyword bliver indsæt i stedet for ordet som er de samme dog måske med stort eller småt. Så skal det nok laves med regexp sådan her.

Så denne linie
tmpstrin = Replace(rs("funktionsenhed"), strKeyword, "<b>" & strKeyword & "</b>",1,-1,1)

Skiftes ud med:

  Set regEx = New RegExp
  regEx.Global = true
  regEx.IgnoreCase = True
  regEx.Pattern = "(" & strKeyword & ")"
  Response.Write regEx.Replace(rs("funktionsenhed"), "<b>$1</b>")

  Set regEx = Nothing
Avatar billede 2001stausholm Nybegynder
05. januar 2003 - 20:35 #8
Lige i øjet, Tak
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