Ik verlies de Line Breaks bij een textbox (bv bij een mail form)
als ik die uitlees zijn de breaks opeens weg
Om het even duidelijk uit te leggen. De linebreaks die toegevoegd worden (\n) zijn niet weg. In HTML staat een linebreak echter niet gelijk aan een enter. Als je de sourcecode van je pagina gaat bekijken zal je zien dat de linebreak wel is meegenomen.
Om voor elke linebreak ook een enter toe te voegen kan je gebruik maken van de php functie PHP.net: nl2br zoals GTW hierboven al opmerkt. Hierbij moet echter wel opgemerkt worden dat de naam van de functie niet doet wat je zou vermoeden. De linebreaks worden niet omgezet naar een <br /> maar er wordt echter een <br /> toegevoegd bij de linebreak.
PHP maakt standaard gebruik van de linebreak \n. Dat is de linux manier. Windows maakt er \r\n van en Mac maakt er alleen \r van in bestanden (tegenwoordig misschien \r\n). Dat is ook iets om rekening mee te houden natuurlijk.
Tip: PHP5 heeft een constante PHP_EOL geintroduceert die gelijk staat aan de linebreak die op het operating system van de server, gebruik wordt.
De var temptext bevat gewoon text met idd \n breaks.
Alleen als ik deze string verstuur met de standaard php mail functie
zijn opeens de breaks weg.
En alleen de breaks van de variabele $temptext, de rest van de breaks (waar niet eens <br> of \r\n staat) doen het wel gewoon.
Het werkt ook niet als ik <br> strreplace gebruik of voor \r\n of alleen \n vervang.
Ik voeg de variabele op een verkeerde manier in de string,
maar hoe het nu wel echt moet????
Je hebt een test in een string die je hebt aangegeven met " en ".
Als je newlines wilt meenemen moet je gebruik maken van ' en ' of je dient zelf de \n aan te geven.