我有一个评论框,当有人按下回车键时,Cake 会将一个 \n (换行)放入数据库。当我从数据库中检索它时,它会像 \n 一样显示,而不是实际的 break 或 HTML a
。
似乎没有处理 \n 的选项,我无法理解,因为在 textarea 中按输入是很常见的。我究竟做错了什么?
谢谢克里斯
我有一个评论框,当有人按下回车键时,Cake 会将一个 \n (换行)放入数据库。当我从数据库中检索它时,它会像 \n 一样显示,而不是实际的 break 或 HTML a
。
似乎没有处理 \n 的选项,我无法理解,因为在 textarea 中按输入是很常见的。我究竟做错了什么?
谢谢克里斯
你忘记了有 php 函数覆盖 :) nl2br() 是你正在寻找的
echo nl2br(h($data));
笔记:
h() 是出于安全原因。总是先使用 h(),而不是 nl2br()。
如果您有 html 内容,则不需要 h()。h() 仅适用于纯文本。
提示:您甚至可以增强烘焙模板以自动正确显示 - 请参阅http://www.dereuromark.de/2010/06/22/cake-bake-custom-templates/了解详情
你也可以试试
echo str_replace("\\n", "<br />", $variable);
CakePHP 有它自己的方法:
TextHelper::autoParagraph(string $text)
检查文档:https ://book.cakephp.org/2.0/en/core-libraries/helpers/text.html