Den var værre. Ved længere ord kan du gøre således: $tekst = str_replace(" langtord ", " <span style="color: #F00;">langtord</span> ", $tekst); $tekst = str_replace("langtord ", " <span style="color: #F00;">langtord </span> ", $tekst); $tekst = str_replace(" langtord", " <span style="color: #F00;"> langtord</span> ", $tekst); Husk at den med mellemrum på begge sider skal komme først.
Ved korte ord som blot i er du nok nødt til at lave en forespørgsel: IF (substr($datostreng,0,2) == "i "), og så slette de to første tegn fra variablen og sætte den sammen med din span tekst igen. Det samme for slutningen.
Jeg er ikke PHP nørd :-) Du burde kunne gøre det på din måde, så skal du vel bare løbe dit array igennem og lave en søg/erstat. Men du skal vel bare splitte ved mellemrum, selvfølgelig afhængig af hvordan din tekst ser ud i databasen. Jeg mener dog min metode er mere overskuelig og sikker.
Jeg bruger preg_split'en til at splitte teksten op i ord, da de enkelte ord så skal matche i databasen.
Hvis de ikke matcher i databasen er det at den skal preg_replace. Men jeg er ret dårlig til expressions, så hvis en venlig sjæl ville hjælpe mig på vej?
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.