16. juni 2021 - 12:51Der er
8 kommentarer og 1 løsning
Erstatning af en lang række ord i en tekst
Set fra brugerens perspektiv: Brugeren henter en langt tekst, som vedkommende læser. Nogle af ordene i teksten er understreget. Ved at føre musen over disse ord popper yderligere informationer i relation til ordet op.
Teknisk: Jeg har en tabel i en database indeholdende en lang række ord samt yderligere information. Den lange tekst hentes fra en anden tabel. Fx erstattes ordet "cykel" med "<span class="info" data="2">cykel</span>, hvor tallet 2 er ordet id i databasen. Jeg bruger jquery til at hente teksten fra databasen, når brugeren fører musen over ordet.
Hvordan løses det? Jeg kunne hente alle ordene i databasen, lave en løkke der laver en søg/erstat ved brug af regulære udtryk i den lange tekst og så efterfølgende servere teksten for brugeren. Jeg er bare i tvivl om, hvorvidt det er den mest fornuftige løsning, eller der er en metode jeg ikke har overvejet, som vil være mindre krævende for serveren.
Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
#1: Men så kommer det vel også an på, om der i forhold til brugere er nogle spidsbelastninger (med mange brugere). For hvis der er det, kan der vel godt være noget med, at det i sådanne situationer alt andet lige er en fordel at køre det hos klienten. Mens det vel i lavintensitetsperioder alt andet lige er en fordel at køre det hos serveren?
Så derfor er det vel lidt svært at lave en ordentlig sammenligning i et udviklingsmiljø...
Enten kan du (a) hente alle ordene i tabellen (antag der er M ord i tabellen) og søge efter hvert ord i teksten (antag der er N ord i teksten) eller (b) du kan søge i tabellen efter efter alle ord i teksten.
(a) er det, du beskriver, og giver M "php søgninger" i teksten
(b) giver N sql søgninger i tabellen
Mit gæt er, at M >> N, og hvis det er rigtigt, gætter jeg på, at (b) er hurtigere end (a).
Det ændrer så spørgsmålet til om M "php søgninger" i teksten er hurtigere end N sql søgninger i tabellen, når M << N. Hvilket i min optik er sværere at svare på.
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.