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 Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
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
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