Avatar billede aucdk Nybegynder
30. juli 2006 - 15:29 Der er 5 kommentarer og
1 løsning

Replace keyword

Hej
Jeg har lavet en ordbog til min hjemmeside og vil nu gerne have at f.eks ordet cookie bliver erstattet med et link til ordbogen. Jeg har fundet frem til denne kode som virker fint:

$tekst = eregi_replace($keyword, '<a href=" '.$url.' " target="_blank">'.$keyword.'</a>' , $tekst);

problemet er at jeg kun vil erstatte ordet "cookie" og ikke ordret "cookies". Jeg har prøvet med følgende kode, men her er problemet at få min string $keyword ind uden en syntax error

$tekst = eregi_replace("[[:<:]]$keyword[[:>:]]", '<a href=" '.$url.' " target="_blank">'.$keyword.'</a>' , $tekst);

Kan simpelthen ikke finde en løsning, på forhånd tak :-)
Avatar billede nielle Nybegynder
30. juli 2006 - 15:50 #1
Brug preg-funktionerne - de er bedre og mere fremtidssikret:

$tekst = preg_replace("/\b$keyword\b/i", "<a href=\"$url\" target=\"_blank\">$keyword</a>", $tekst);
Avatar billede nielle Nybegynder
30. juli 2006 - 15:52 #2
\b i det første argument er det som gør tricket. Det fortæller at der kun skal matches ved start og slut af et ord.
Avatar billede aucdk Nybegynder
30. juli 2006 - 15:57 #3
Rigtig mange tak, du har lige reddet min dag :-)
Avatar billede nielle Nybegynder
30. juli 2006 - 15:58 #4
Svar :^)
Avatar billede aucdk Nybegynder
30. juli 2006 - 15:58 #5
:-)
Avatar billede Slettet bruger
15. august 2006 - 00:48 #6
$tekst = preg_replace("/\b$keyword\b/i", "<a href=\"$url\" target=\"_blank\">$keyword</a>", $tekst);
Hvis du nu kun vil have den skal tage den først og lave den om til et link, kan du tilføje parameteret limit.


->

$tekst = preg_replace("/\b$keyword\b/i", "<a href=\"$url\" target=\"_blank\">$keyword</a>", $tekst, 1);

1 udgør antallet
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester