23. januar 2007 - 08:57Der er
3 kommentarer og 1 løsning
Behandling af tekst-streng
Godmorgen alle eksperter,
Jeg har et lille problem, som jeg har bakset med i et stykke tid nu.
Jeg får input fra et tekst-felt på en form. Dette input skal jeg have konventeret, hvor noget kode byttes ud med andet kode.
F.eks. skal [f]FED SKRIFT[/f] blive til <b>FED SKRIFT</b>
Det er også nemt at lave, hvilket jeg har gjort. Problemet kommer dog, når der skal laves [o1]overskrift 1[/o1]. Jeg kan naturligvis fint bruge en str_repleace() til at løse problemet, men så får jeg blot en ekstra linie (<br />), når jeg udfører min nl2br().
Det mellemrum vil jeg helst undgå når jeg bruger følgende koder: [o1][/o1] (<h1></h1>) [punkt][/punkt] (<ul></ul>) [l][/l] (<li></li>)
Hvordan gør jeg det? Jeg kunne forestille mig, at der muligvis skal bruges noget regex, men det kan jeg slet ikke finde ud af.
Er der nogen kloge hoveder derude, der har en løsning på mit problem?
I denne kode kan du først lave alle dine replaces med de arrays der hedder bbcode og bbreplace på samme måde som ovenfor... dernæst laver den en nl2br og endelig en preg_replace på det der er replacet hvor den så med nyrep og nycode arraysne erstatter fx. </li><br /> med </li>... Har ikke testet det, men vil mene det burde virke... :-) så håber det kan bruges.
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.