11. august 2006 - 00:42Der er
7 kommentarer og 1 løsning
Leksikons funktion
Hej eksperter.
Jeg har lavet en leksikons funktion men er nu bange for den ikke virker ordenligt alligevel. Hvis ordet ost indgår i min tekst skal den replaces til <a href="#">ost</a>, men kun første gang den støder på ordet skal det være et link... $text er al min tekst, og url parameteret er ikke begyndt at bruge det parameter endnu.)
Jeg bruger funktionen:
function lex($text, $url = null) { $query = query("SELECT lexID, word FROM lex"); while ($r = mysql_fetch_array($query)) { $text = preg_replace("/".$r['word']."*\b/", "<a href=\"lexikon.php&lexID=".$r['lexID']."\" class=\"lex_word\"><u>".$r['word']."</u></a>", $text, 1); } return $text; }
Men fejlen lægger sikkert i den regular expression...?!
Men nielle nu er jeg lige støt på et problem. Jeg ved ikke om det er fordi mine ord i databasen alle starter med stort eller om det er den regular expression der gør det?!
Men kan man tjekke på om det er midt inde i en sætning eller i starten af sætningen sådan så ordet ikke lige pludselig starter med stort midt i en sætning, men samtidig er der nogen ord der er navne jo, som skal starte med stort (det er mindre vigtigt).
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.