11. marts 2008 - 00:22Der er
2 kommentarer og 1 løsning
Baggrundsfarve på søgte ord
Hej
Jeg har dette her:
Function highlight(strInput,findStr) Set objReg = New RegExp objReg.Global = true objReg.IgnoreCase = True objReg.Pattern = "("&findStr&")" highlight = objReg.Replace(strInput, "<font color=""red"">$1</font>") Set objReg = Nothing End Function
Den funktion virker "OK" i min søgefunktion, men problemet ligger i at når jeg fritekst søger, så finder den ikke det hvis ordet ikke er der eksakt.
Et eksempel:
hvis vi har denne sætning: "Lorem ipsum doloris loo"
Så når jeg søger på f.eks: "lorem doloris" vil jeg gerne have at den sætter bg på både lorem og doloris, men som det er nu, så sætter den kun bg på hvis jeg søger på dette:"Lorem ipsum"
Håber mit spørgsmål er forståeligt nok, ellers bed mig om at uddybe.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det er altså noget med at først køre en split på din søgestreng sådan at du får den delt op i enkelt ord, og så sætte dem sammen igen til en ny regexp-søgestreng:
str = "ord1 ord2 ord3 ord3"
- skal laves om til:
strRegex = "(ord1|ord2|ord3|ord3)"
Eller ved næremere eftertanke - di kan måske bare replace mellemrum mde '|' og så sætte en parentes rundt om det hele.
Husk dog lige at tage højde for at folk måske skriver 2 eller flere mellemrum efter hinanden.
Hvis du skal søge på hele ord, så skal der også en \b i begge ender:
strRegex = "\b(ord1|ord2|ord3|ord3)\b"
Synes godt om
Ny brugerNybegynder
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.