PHP Longtext可以像用户一样显示它

时间:2010-12-30 11:48:59

标签: php javascript mysql textarea longtext

我需要知道如何以写入的方式显示放在数据库longtext字段中的信息。

就像用户在下面写道:

My life is full of love I fly like
wedding doves I blow passed stop signs
That intersect with hate lines

-

I know what I am
I know who I be
If you can't accept me
Then don't friend me

我想让它显示数据库中的文本,就像用户在textarea中编写文本一样,而不是像这样显示:

我的生活充满了爱情我像飞鸽子一样飞过我吹过的停止标志与仇恨线相交我知道我是什么我知道我是谁如果你不能接受我然后不要和我交朋友

如何在PHP中使用PHP正确显示信息?

4 个答案:

答案 0 :(得分:4)

使用nl2br()。它会将换行符(例如textareas)转换为HTML <br />标记。

答案 1 :(得分:1)

如果您对数据使用nl2br,则其格式应与原始文本区域中的格式大致相同。

但是,我确实建议阅读有关处理SQL injectionescaping output等内容的信息,首先,因为您很可能会为某些跨站点设置自己脚本(XSS)问题,如果你不小心。

答案 2 :(得分:0)

如果要显示已预格式化的文本,请将其括在<pre></pre>标记

  <pre>...your text here...</pre>

许多人不喜欢<pre>元素,因为它经常被糟糕的开发人员和设计人员滥用 但这正是它应该用于的情况。

大多数浏览器呈现预格式化文本与普通文本不同,因此您可能需要调整样式表

body, pre {font-family: ...;font-size:....}

答案 3 :(得分:0)

我不能强调它:你不应该按原样输出用户生成的内容,但要小心你要转义你输出的所有文本(参见:http://php.net/manual/en/function.htmlspecialchars.php)。