Linjeskift i tagwall/gæstebog/nyheds system

Tags:    linjeskift tagwall

<< < 12 > >>
Hej Alle.

Jeg har lavet et mindre nyheds post system på forsiden af en hjemmeside som jeg er ved at lave.
Problemet er bare at når man poster sin besked, og SQL databasen poster den på hjemmesiden, så har den ikke taget eventuelle linjeskift med i teksten.

se eksempel på www.borup-soepark.dk

Selv text boksen som man skriver i når man skal poste en besked er lavet som <textarea> Og i databasen har jeg prøvet med både "text" og "varchar" som celle opsætning.

Nogen der har ideér til hvordan jeg kan løse dette?



18 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 9 karma
Sorter efter stemmer Sorter efter dato
Når det bliver lagret I en database behøver du ikke lave linjeskift før du smider det op.

Nu giver jeg dig et eksempel som er MEGET simpelt:
Fold kodeboks ind/udPHP kode 


Piece of cake. :)



Når det bliver lagret I en database behøver du ikke lave linjeskift før du smider det op.


jeg er enig, det er bedre å gjøre det når du viser siden. På den måten kan du også vise teksten i et textarea for editering uten BR-tags.

Det er nok også bedre å bruke nl2br enn str_replace selvsagt, siden den er laget akkurat for dette formål.



Ja, jeg køre replace lige under variablerne.. Kan godt være det er forkert.
Men når jeg sætter den ind der, så når den ikke engang at skrive til databasen, så derfor siger echo heller intet.


Så du har gjort noe forkert og får en error. Du må finne ut hva den er. Til det bruker du try/catch.


Jeg er ikke helt sikker på hvad du mener med mine ' tegn..

Hvis brukerne dine skriver et '-tegn i teksten sin så vil det ødelegge SQL-inserten. Databasen vil tro at besked-verdien er ferdig når det støter på et slikt tegn. Derfor må det erstattes (eller escapes). Du kan bruke addslashes til dette.





Jeg er da en kloven og ikke læse hele tråden færdig.

rene



Linjeskiftene er der. De er lagret i basen, og tar du "view source" på siden så ser du dem også. Men linjeskift tolkes ikke av HTML, så for å få dem til å bli linjeskift på websiden må du gjøre dem om til <br/> tags.



Men hvordan får jeg dem fra uden at skrive html tags ? Det er meningen at man blive kan skrive en besked fra www.borup-soepark.dk/nyhed.php og at linje skiftene kommer med uden som sagt at folk skal skrive html tags..



Når du skiver ut teksten som folk har skrevet inn så må du erstatte linjeskift med BR. Ta en titt på str_replace. Det er et passende eksempel der..



Prøv denne funktion nl2br();

Den bruges således:
Fold kodeboks ind/udPHP kode 




Fra dokumentasjonen:
Fold kodeboks ind/udPHP kode 




Tak for svar.
Jeg kan godt se idéen med det, men jeg kan ikke lige se hvordan jeg få det til at virke i praksis.

Min nyhed.php er sådan her:
Fold kodeboks ind/udPHP kode 


Og den side som sender til DB ser således ud:
Fold kodeboks ind/udPHP kode 


Hvor skal jeg evt skrive nl2br funktionen ? eller de andre for den sags skyld?



<< < 12 > >>
t