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??
Annonceindlæg fra Infor
23. januar 2006 - 19:56
#1
I stedet for et mellemrum kan du bruge \b som betuder "her starter eller slutter" order.
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"
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.
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
23. januar 2006 - 22:06
#5
Prøv med preg_replace() i stedet.
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
24. januar 2006 - 14:54
#7
Svar :^)
Vi tilbyder markedets bedste kurser inden for webudvikling