04. maj 2011 - 20:53
Der er
8 kommentarer og 1 løsning
Fremhævning af søgestreng med wildcards
Hej, Jeg sender to søgeord til en resultatside og ønsker disse fremhævet i teksten på siden. Url enside.com/side.php?ord1=Mads&ord2=%25en%25 Tekst: Mads er en dreng som går i skole. Som bliver: <b>Mads</b> er <b>en</b> dr<b>en</b>g som går i skole. Jeg kan ikke gennemskue hvordan det løses med wildcards (% og _) - kan i komme med et forslag?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg ville nok vælge en løsning som nedenstående. Løb dine søgeresultater igennem ord for ord i en form for løkke og indsæt følgende: $currentWord = 'Mads'; if($currentWord == $_GET['ord1']) { str_replace($currentWord, '<b>'.$currentWord.'</b>'); } Det er naturligvis bare lige et hurtigt tankeeksperiment.
Undskyld.. Nu fik jeg lige tænkt over hvad jeg prøvede at bilde dig ind ;) koden ser naturligvis således ud: $ord1 = "Mads"; $ord2 = 'en'; $str = "Mads er en dreng der går i skole hver dag"; $str = str_replace($ord1, '<b>'.$ord1.'</b>', $str); $str = str_replace($ord2, '<b>'.$ord2.'</b>',$str); echo $str
Hej Danco, Det var noget i den retning jeg tænkte, men jeg kan ikke kombinere det med wildcards.
Kan du definere lidt nærmere hvad du mener med wildcards
Hvis _ indsættes i en søgestreng erstatter det ét tegn, mens % erstatter ét eller flere. Fx vil søgning på skole% vise resultater som skoletaske, skolebænk, skoletavle osv., men søgning på f_r giver far, får, for osv.
Jamen så bliver du nødt til at løbe alle ord igennem og teste på om de overholder kriteret.
02. august 2011 - 17:16
#7
lukker
17. august 2011 - 07:19
#8
Lukker
01. september 2011 - 08:21
#9
Lukker
Vi tilbyder markedets bedste kurser inden for webudvikling