我有一个注释框,当有人按下Enter时,Cake会在数据库中放入一个\ n(换行符)。当我从数据库中检索它时,它显示为\ n而不是实际的中断或HTML中的一个
。CakePHP消毒换行 n
似乎没有办法处理\ n,这是我无法理解的,因为通常在textarea中输入enter。我究竟做错了什么?
感谢 克里斯
我有一个注释框,当有人按下Enter时,Cake会在数据库中放入一个\ n(换行符)。当我从数据库中检索它时,它显示为\ n而不是实际的中断或HTML中的一个
。CakePHP消毒换行 n
似乎没有办法处理\ n,这是我无法理解的,因为通常在textarea中输入enter。我究竟做错了什么?
感谢 克里斯
你忘了,有覆盖物:) nl2br()是你在找什么
echo nl2br(h($data));
注意PHP函数:
H( )是出于安全原因。总是首先使用h(),而不是nl2br()。
如果你有html内容,你不需要h()。 h()仅用于纯文本。
提示:您甚至可以提高你的烘烤模板自动正确显示出来 - 看http://www.dereuromark.de/2010/06/22/cake-bake-custom-templates/的细节
您也可以尝试 echo str_replace("\\n", "<br />", $variable);
你可以张贴一些代码?我使用CakePHP,我从来没有遇到这个问题 – JohnP 2011-03-09 17:58:44