04. maj 2003 - 23:27Der er
14 kommentarer og 1 løsning
Resultat fra søgning med fed
Har i øjeblikket en søgefunktion som i og for sig virker udmærket. Den hedder:
if ($soeg!="") { echo "Din forespørgsel på <b>".$soeg."</b> giver følgende resultater:<br><br>";
include ("../connect/connect.php"); ($result = mysql_query("select * from arrangementer where tekst like '%$soeg%' order by dato ")) || die(mysql_error()); while($data = mysql_fetch_array($result)) {
echo "<a href=\"".$_SERVER['PHP_SELF']."?tid=".$data['dato']."\">".date("j/n - Y k\l G:i",$data['dato'])."<br>".$data['type']."<br>".$data['tekst']."<br>".$data['tekst2']."</a>"; }}
Som det ses, vil jeg gerne have ordet fra søgningen til at fremstå med fed i søgeresultatet, og det virker da også rimeligt, indtil f.eks. søgeordet er med lille begyndelsesbogstav og resultatordet er med stort begyndelsesbogstav, eller omvendt. Så sker der ingen markering med fed i outputtet.
Det går dog galt, hvis $soeg indeholder nogle af de tegn, der er "magiske" i regulære udtryk. Den helt korrekte løsning er desværre en smule mere besværlig:
Det virker ikke helt som jeg ønsker. Hvis outputtet på søgningen er med stort begyndelsesbogstav (d.v.s. at ordet figurerer i databasen med stort begyndelsesbogstav), så skal det EFTER at det er blevet omkranset af <b> og </b> stadig være med stort begyndelsesbogstav.
Konverteringen til fed skal ske UANSET om der søges på ordet med store eller små bogstaver, og outputtet skal fremstå, som indtastet i databasen.
Dit sidste ønske mener jeg er opfyldt. Det er det faktisk ord i teksten der bliver fed - ikke ordet der søges på. Altså søges på Mandag, og der står mandag i teksten bliver det til <b>mandag</b>
Fint nok - men ingen selvfølge; jeg havde ikke lige fået det testet.
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.