Avatar billede woowii Nybegynder
13. april 2006 - 04:08 Der er 3 kommentarer og
1 løsning

Textarea og linieskift

Hej, jeg har længe undret mig over hvorfor det er at SQL selv laver linjeskift når der er linjeskift i det textarea som bliver sendt til databasen - og ikke mindst om der er nogen måde at undgå det på.

Jeg begyndte fornyligt at lege med et "tooltip"-script (altså et script der viser noget tekst når du holder musen over noget) - og netop her skal jeg bruge noget tekst fra databasen, men problemet er at det linjeskift går ind og gør at scriptet intet viser. Det skal lige siges at jeg allerede erstatter \n med <br>. Hvis jeg går ind i databasen via phpmyadmin ser strukturen nogenlunde sådan her ud i feltet der viser teksten:
"tekst
<br>
<br>
<br>noget andet tekst"

Altså, den laver (som sagt) selv nogle linjeskift (hvilket garenteret er som det skal være, men på en eller anden måde får det altså mit script til ikke at virke). Hvis jeg sletter de linebreaks der er så der står: "tekst<br><br><br>noget andet tekst" virker det perfekt.

Kort sagt er mit spørgsmål om der er nogen mulighed for at slippe for de linje skift som sql (ser ud til) opretter selv. Eller om jeg måske skal bruge en anden datatype til at gemme teksten. :)

Det blev lidt vidst rodet, men håber I kan finde hoved og hale i det. :)
Avatar billede morhan Novice
13. april 2006 - 04:29 #1
sql indsætter ikke noget :) et hurtigt gæt er, at dine linieskift ikke kun består af \n men af \r\n
Avatar billede Slettet bruger
13. april 2006 - 11:27 #2
Eller også blander du nl2br() sammen med både indsæt og udtræk til databasen.

Hvis du udtrækker tekst med <br />-tags i, og du har et script hvor du kan opdatere indholdet af et felt, vil den indsætte flere <br />-tags hver gang du opdaterer.

Et godt tip er at lade tekst i databasen være så "rå" som muligt, og i stedet behandle outputtet kun.

--pacroon
Avatar billede woowii Nybegynder
13. april 2006 - 13:54 #3
Jeg har styr på ikke at den laver for mange linjeskift pga. mine replaces, pacroon - det er ikke det. :)

Til gengæld var det præcis som morhan sagde - jeg lavede eregreplace("\r\n","<br>") nu, og det virker. Smid lige et svar så du kan få point - tak for hjælpen. =)
Avatar billede woowii Nybegynder
08. september 2007 - 20:17 #4
Intet svar - så jeg lukker
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