webForumDet fria alternativet

Sökning...

Databaser & SQL

2 svar · 568 visningar · startad av demo

Frågan#1

Hej!

Har gjort en databas där jag vill söker på vissa fältvärden. Om programmet finner ett eftersökt värde i något av "fälten/variablerna" så skall han skriva ut posten, samt rödmarkera det eftersökta ordet.

Jag har använt nedanstående kod, där T1 innehåller sökordet.

if ($INFO1[$k]=~/$INFO{'T1'}/i| | $INFO3[$k]=~/$INFO{'T1'}/i){
$ny="<b><font color=\"red\">$INFO{'T1'}</font></B>";
$INFO1[$k]=~s/$INFO{'T1'}/$ny/i;
$INFO3[$k]=~s/$INFO{'T1'}/$ny/i;
}

Problemet med denna kod är att programmet endast rödmarkerar det första funna ordet i varje #textfält/variabel". Finns det mer än ett värde i samma "fält/variabel" som överenstämmer med sökordet, så vill jag att båda skall rödmarkeras.

Har försökt med diverse loppar mm, men inte funnit någon bra lösning.

Någon som har en bra lösning, så vore jag tacksam.

Mvh,
Demo

Medlem sedan dec. 19996 721 inlägg
#2

I princip...

foreach $sokord (@sokorden){
$texten=~ s/($sokord)/<font color=\"red\">$1<\/font>/gis;
}

#3

Fungerade perfekt :)

Tack för hjälpen, Emission!

//Ddemo

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)