Avatar billede nikolajdu Nybegynder
03. august 2002 - 19:34 Der er 15 kommentarer og
2 løsninger

udskriv linebreaks uden linebreak.... :))

Læs spørgsmålet igennem!

Jeg gemmer data fra et textarea i min mySql og det går jo rigtigt fint. Problemet opstår så når jeg skal udskrive dem igen. Teksten må nemlig ikke udskrives med linebreaks, men SKAL stå på én linie!!!

Jeg har prøvet at smide dem ind (eller hive dem ud) med alle kombinationer af:

$extra=nl2br(htmlentities($extra));

Hvilket giver mig et indhold alá :

"asd asdasd
altpertpskfasp  4w
¨5
w
5
24k"

Det er såmænd også korrekt, hvis bare altså det hele stod på én linie....

Hvad gør jeg?

/Nikolaj :))
Avatar billede sesam Nybegynder
03. august 2002 - 19:36 #1
HTMLspecialchars kan bruges når du uploader...
Avatar billede sesam Nybegynder
03. august 2002 - 19:36 #2
Glem mit svar...:0)
Avatar billede Slettet bruger
03. august 2002 - 19:38 #3
Du skal vel blot replace alle instanser af \r og \n med et mellemrum.
Avatar billede jakoba Nybegynder
03. august 2002 - 19:40 #4
plus evt sætte <nobr> og </nobr> rundtom.
Avatar billede limemedia Nybegynder
03. august 2002 - 19:40 #5
nl2br udskifter *netop* alle \n med linebreaks... prøv med $extra=htmlentities($extra);
Avatar billede nikolajdu Nybegynder
03. august 2002 - 19:41 #6
el barto - Den går ikke for det er vigtigt at mine linebreaks også bliver udskrevet de må bare ikke fortolkes!!

Det skal bruges i javascript og alt funker fint, så længe der ikke bliver fortolket <br> eller \n

Jeg skal bare have en linie alá "hej hej <br> nikolaj"

/Nikolaj
Avatar billede nikolajdu Nybegynder
03. august 2002 - 19:42 #7
Fik lige forklaret lidt mere, så håber i bedre forstår :)
Avatar billede jakoba Nybegynder
03. august 2002 - 19:43 #8
er der ikke nogen med en kommando der indsætter '\' foran specialtegn.
Avatar billede limemedia Nybegynder
03. august 2002 - 19:47 #9
utestet, hvad med
$extra = strtr(nl2br(htmlentities($extra)), array("<"=>"&lt;", ">"=>"&gt;"));
Avatar billede nikolajdu Nybegynder
03. august 2002 - 19:50 #10
Jeg har forsøgt mig med det samme "hack" der bruges i javascript, når man vil udskrive <script> - som man ellers ikke lige kan...

document.write("\<script>") - Altså stilen.

Jeg kunne vælge at replace på klientsiden eller smide det hele i "hidden" fields, men det er ikke nogen optimal løsning, da jeg i forvejen har et utal af "parse"-funktioner - Derfor ville jeg gerne udskrive det hele i en array istedet.

Jeg er helt kold nu :(

ljweb - Den giver :

af&lt;br /&gt;
s&lt;br /&gt;
sfasfafsk&lt;br /&gt;

Men det er nok den vej jeg/vi skal :)
Avatar billede limemedia Nybegynder
03. august 2002 - 19:54 #11
lidt pænere
$extra = strtr(nl2br(htmlentities($extra)), array("<br />"=>"&lt;br&gt;"));

udfra hvad du selv skriver, er det så ikke det du mangler ?
Avatar billede nikolajdu Nybegynder
03. august 2002 - 20:03 #12
ljweb og Jakoba - I har faktisk leveret løsningen :))

Jeg satte min kære onkel, der sidder her også på sagen og frem hev han et et andet spørgsmål han havde oprettet : http://www.eksperten.dk/spm/237778

D.v.s : $extra = ereg_replace("(\r\n|\n\r|\n|\r)+", "<br>", $extra);

Så kører det bare perfekt :))

/Nikolaj
Avatar billede nikolajdu Nybegynder
03. august 2002 - 20:05 #13
Og det er iøvrigt fint at der ikke findes mere end ét linieskift :)

Tak for hjælpen og inspirationen :)
Avatar billede Slettet bruger
03. august 2002 - 20:07 #14
hehe...så var det jo det som jeg sagde. Bortset fra at du ikke havde nævnt at du ville beholde <br> tagget.

Mon ikke 2 x replace på \n og \r er hurtigere end ereg_replace?
Avatar billede nikolajdu Nybegynder
03. august 2002 - 20:08 #15
el_barto - Hvis du beviser det, så kaster jeg 75.000 point efter dig eller 30 der også ;-)
Avatar billede Slettet bruger
03. august 2002 - 20:10 #16
ha...nej det var ikke sådan ment. Blot en reminder om at du havde glemt at sige noget om <br> tagget.

Så kan man hurtigt snakke forbi hinanden. :)

Skal du kaste med point? Husk at rydde op efter dig *G*
Avatar billede nikolajdu Nybegynder
03. august 2002 - 20:19 #17
Tja det værste er faktisk at da jeg besluttede mig for at oprette spørgsmål at jeg netop tænkte at jeg skulle understrege vigtigheden af at de blev udskrevet - Hvad kan jeg sige - Jeg må have andet i tankerne... :))
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester