[英]How to save a text string with line breaks to a MySQL database text field using PHP?
在SugarCRM中,我有一个Textarea字段,我正在尝试使用换行符保存数据。
如果我插入<br>
标签,那么它们会显示为文本中断标签。 如果我尝试类似\\n
那么它也会显示为文本。
现在,如果我进入SugarCRM并编辑记录,我可以输入文本并进行换行。 保存记录并再次查看它,并按照我希望的方式显示换行符!
我试图从远程API脚本将带有换行符的数据保存到同一个字段。
我使用phpMyAdmin进入数据库,看看该字段的外观和现状......
前3行有正确的换行符,我在SugarCRM中手动编辑了一个记录。
后面的行来自我的远程API脚本,我在其中将<br>
标签保存到字符串中。
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 />
任何想法如何让我的PHP代码保存字符串到这个字段,并在数据库中查看时有换行符,就像上面的前3行一样?
在尝试存储包含换行符的数据时,您希望在存储数据之前使用php内部的nl2br()函数。 我在尝试不同的事情之前和之后都遇到了同样的问题,让它在客户的网站上正常工作,有一天我找到了答案。
关键是在存储之前使用nl2br()转换数据。
希望这可以帮助。
使用PHP_EOL
而不是<br/
或\\n
例如
$array = array("a","b");
$string = implode(PHP_EOL , $array);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.