Avatar billede budda Nybegynder
23. januar 2006 - 19:53 Der er 6 kommentarer og
1 løsning

Erstat ord med link

Jeg har et problem.
Jeg har en database der ser ud som følger:
tabelen:
id
ord
linket

mit problem er hvis jeg har ordet "bog" og har teksten:
jeg har købt bogen hos Karsten.
så bliver der et link midt i ordet :/ Det var ikke meningen.

Har så tænkt at man bare kunne sætte et mellemrum foran og bagved men så kan man ikke erstatte første og sidste ord.

Nogen der kan hjælpe med det problem??
Avatar billede nielle Nybegynder
23. januar 2006 - 19:56 #1
I stedet for et mellemrum kan du bruge \b som betuder "her starter eller slutter" order.
Avatar billede nielle Nybegynder
23. januar 2006 - 19:58 #2
Prøver lige igen:

I stedet for et mellemrum kan du bruge \b som betyder "her starter eller slutter ordet". b'et står for boundery. Hvis "bog" er dit ord, så ser dit møsnter altså sådan her ud:

"/\bbog\b/i"
Avatar billede phpnewbie Nybegynder
23. januar 2006 - 20:00 #3
det lader til du skal lave en mekanisme der finder ordet (så langt er du kommet).

herefter skal du udsøge næste character der indeholder et mellemrum, og finde positionen på strengen ud af hele den streng der bliver søgt på.

Når du har de ting, kan du med en substr() hive hele ordet ud og derefter erstatte det med et link.
Avatar billede budda Nybegynder
23. januar 2006 - 21:53 #4
hvis nu vi laver en simpel version så som:
$str = "Jeg har købt bogen af en bog.";
$str = ereg_replace("\bbog\b","BOG",$str);
echo $str;

Virker det ikke
Avatar billede nielle Nybegynder
23. januar 2006 - 22:06 #5
Prøv med preg_replace() i stedet.
Avatar billede budda Nybegynder
24. januar 2006 - 14:24 #6
$str = "Jeg har købt bogen af en bog.";
$patterns[0] = '/\bbog\b/i';
$replacements[0] = 'BOG';
echo preg_replace($patterns, $replacements, $str);

Der var svaret :)

Tak!

Post et svar
Avatar billede nielle Nybegynder
24. januar 2006 - 14:54 #7
Svar :^)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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