In SugarCRM I have a Textarea field that I am trying to save data to with line breaks.
IF I insert <br>
tags, then they show up as text break tags. If I try something like \n
then it also shows up as text.
Now if I go into SugarCRM and edit a record, I can type in text and make a linebreak. Save the record and view it again and the line breaks show up as I would want them to!
I am trying to save data with line breaks to the same field from a remote API script.
I went into the Database with phpMyAdmin to see how the field looked and here it is...
The first 3 lines have proper line breaks which I made inside SugarCRM editing a record manually.
The line after are from my remote API script where I had saved <br>
tags into the string.
Line 1 Text: ghfghdf
Line 1 Color: #0064FF
Line 1 Font: Architect
Line 2 Text: fghfg<br /> Line 2 Color: #9F00FF<br /> Line 2 Font: Belshaw<br /> Line 3 Text: fghdhdhdf<br /> Line 3 Color: #FF5000<br /> Line 3 Font: Benguiat<br />
Any ideas how I can make my PHP code save a string to this field and have line breaks when viewing it in the database just like the first 3 lines above are?
When attempting to store data that has line breaks, you want to use the nl2br() function inside of php before you store the data. I had the same issues before and after months and months of trying different things to get it to work right on a client's site, it was on SO that I found the answer one day.
The key is to convert the data by using nl2br() before you store it.
Hope this helps.
Use
PHP_EOL
instead of<br/
> or\n
e.g.
As suggested in comments, this kind of issue tends to be related to the fact that in single quoted strings :
but in double quoted strings :
So
echo '\n'
will print \n whileecho "\n"
will allow you to have a new line as excepted.And of course, you also can use
PHP_EOL
to make it cross OS.