Problemer med nl2br

Tags:    php

Jeg har nogle problemer med nl2br strengen.
Den indsætter fint <br /> før alle nye linjer, men der er et problem med den.
Jeg har sådan at man kan skrive en kode mellem [bkode] og [/bkode], som så bliver til en textarea boks. Problemet er så, at når dne viser textarea-boksen, så vises <br /> før hvert linjeskift, og det er ikke særligt praktisk.
Inden jeg putter det indtastede ind i databasen bruger jeg htmlspecialchars og nl2br.
Når jeg så henter dataet bruger jeg følgende:

$text = str_replace("[bkode]", "<div align=\\"center\\"><textarea rows=\\"7\\" cols=\\"60\\" class=\\"box\\">", $text);
$text = str_replace("[/bkode]", "</textarea></div>", $text);

Jeg har valgt, at jeg først vælger at "omskrive" [bkode] og [/bkode], når jeg henter det fra databasen, så jeg også har mulighed for at ændre på størrelse af boks osv.
Kan man eventuelt lave en funktion, som vil fjerne alle <br /> mellem [bkode] og [/bkode]?



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Det kan gøres sådan her:

Fold kodeboks ind/udKode 


Nu vil text[0] være = [bcode]hejmeddig[/bcode]
og text[1] være = hejmeddig

Så kan du selv finde ud af hvad du skal bruge. Der hvor jeg har skrevet [bcode]hej<br />med<br />dig[/bcode] skal du bare skifte ud med variablet der indeholder teksten hvori [bcode] forekommer.

Håber det kan hjælpe lidt :).

Edit: ugh..noget af koden forsvinder fra siden her. Så for at kopiere koden. Så tryk besvar på mit indlæg og kopier det derfra.



Indlæg senest redigeret d. 04.06.2006 09:49 af Bruger #3275
Det kan gøres sådan her:

Fold kodeboks ind/udKode 


Nu vil text[0] være = [bcode]hejmeddig[/bcode]
og text[1] være = hejmeddig

Så kan du selv finde ud af hvad du skal bruge. Der hvor jeg har skrevet [bcode]hej<br />med<br />dig[/bcode] skal du bare skifte ud med variablet der indeholder teksten hvori [bcode] forekommer.

Håber det kan hjælpe lidt :).

Edit: ugh..noget af koden forsvinder fra siden her. Så for at kopiere koden. Så tryk besvar på mit indlæg og kopier det derfra.


Tak for hjælpen. Jeg tror jeg har forstået principet i det, men da jeg ville udskrifte teksten med variablen $text, hvor jeg har selve teksten i, fik det ikke så godt. Jeg gjorde følgende:

Fold kodeboks ind/udKode 


Ellers.. Det virker fint. Men den tekst der ikke står mellem [bkode] og [/bkode] vises slet ikke, men det skal den jo.. Men i hvert fald. Stor tak! Jeg kom da nærmere målet ! ;P



t