Avatar billede weiland Nybegynder
07. december 2005 - 17:00 Der er 2 kommentarer og
1 løsning

Fremhæve søgeord - men ikke i tags

X Se http://www.codeproject.com/asp/highlight.asp .... her demonstreres det, hvordan man fremhæver søgeord.

Men hvordan undgår man, at søgeordet fremhæves, hvis det er inde i et html-tag?
Lad os antage, at en tekststreng ser sådan her ud:

"Du kan eventuelt skrive til <a href=mailto:Hans@Jensen.dk>Hans Jensen</a>, hvis du har spørgsmål."

Nu foretager vi en søgning efter ordet "Jensen" i tekststrengen. Søgeordet ("Jensen") skal fremhæves med fed skrift. Løsningen på http://www.codeproject.com/asp/highlight.asp anvendes.
Det giver følgende resultat:

"Du kan eventuelt skrive til <a href=mailto:Hans@<b>Jensen</b>.dk>Hans <b>Jensen</b></a>, hvis du har spørgsmål."

Men det dur ikke, for nu er email-adressen forvansket, idet "Jensen" også er fremhævet inde i html-tagget.
Det korrekte og optimale resultat ville være:
"Du kan eventuelt skrive til <a href=mailto:Hans@Jensen.dk>Hans <b>Jensen</b></a>, hvis du har spørgsmål."
Avatar billede roenving Novice
08. december 2005 - 02:18 #1
Hrm, der var ikke hul igennem til codeproject lige nu, men jeg kan godt huske problematikken ...

-- en simpel teori kan se sådan ud:

Split teksten op i bidder, som starter med >-tegnet og søg og erstat kun på de dele af teksten, som så ligger før det næste forekommende <-tegn ...

-- men det er jo helt rimeligt at skrive f.eks.

<a href="karl@baj"><<tilbage til karl baj</a>

-- så søgealgoritmen skal optimeres en del bedre, og jeg tror derfor ikke, at det vil være hensigtsmæssigt kun at basere det på en regexp, men at det skal suppleres med noget (relativ !-) simpel programmering i det sprog, som ellers bruges !o]
Avatar billede weiland Nybegynder
08. december 2005 - 21:52 #2
ok, den skal jeg lige tænke nærmere over :-)
Avatar billede weiland Nybegynder
19. juni 2006 - 11:40 #3
lukker
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