Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数据库中保留用户注释格式_Php_Mysql_Html - Fatal编程技术网

Php 在数据库中保留用户注释格式

Php 在数据库中保留用户注释格式,php,mysql,html,Php,Mysql,Html,嗨 我在comments表单上创建,用户将在其中被评论,并存储在MYSQL数据库中。我面临的问题是,它作为单行存储在数据库中。它应该以用户在表单中输入的确切格式存储(如新行和所有内容)。我正在使用PHP将其存储在MySQL数据库中。首先将其存储为文本或长文本。其次,在显示注释时,使用类似nl2br的函数将换行符转换为html元素。这样可以保留换行符。首先将其存储为文本或长文本。其次,在显示注释时,使用类似nl2br的函数将换行符转换为html元素。这样可以保留换行符。您可以在mysql数据库中以


我在comments表单上创建,用户将在其中被评论,并存储在MYSQL数据库中。我面临的问题是,它作为单行存储在数据库中。它应该以用户在表单中输入的确切格式存储(如新行和所有内容)。我正在使用PHP将其存储在MySQL数据库中。

首先将其存储为文本或长文本。其次,在显示注释时,使用类似nl2br的函数将换行符转换为html

元素。这样可以保留换行符。

首先将其存储为文本或长文本。其次,在显示注释时,使用类似nl2br的函数将换行符转换为html

元素。这样可以保留换行符。

您可以在mysql数据库中以相同的形式存储注释。一个区别是,当您检索到包含新行的注释时,您的代码应该查找并解释它。。而且,当您在mysql中插入数据时,您必须从注释中转义'and\字符。

您可以在mysql数据库中以相同的形式存储注释。一个区别是,当您检索到包含新行的注释时,您的代码应该查找并解释它。。此外,当您在mysql中插入数据时,您必须从注释中转义“和”\个字符。

如果您将文本放入足够长的文本类型字段(例如,
text
),包括用户输入中的换行符,则您的文本在数据库中存储得很好

您的问题是如何以用户在输入时看到的方式显示格式化的文本。这是一个更普遍的问题,它只与HTML如何处理空白有关

正如Ikke所说,一种方法是对评论调用
nl2br
。这将用对渲染输出有可见影响的

标记替换所有新行(浏览器忽略)

另一种选择是将文本放入
标记中。这将强制浏览器在保留空白的情况下进行渲染

这取决于什么对你更方便/更适合


更新:需要澄清的是:在将用户输入插入数据库之前不要修改它(除非它是输入验证的一部分,例如从输入中剥离HTML标记)。以“未接触”的格式存储,并且在输出数据之前只对其进行一些处理。这样,如果您的输出通道将来发生更改,您始终可以选择执行正确的处理(例如,将注释导出到文本文件,而不是将其显示为HTML)。

如果您将文本放入足够长的文本类型字段(例如
文本)
,则您的文本在数据库中存储得很好,在用户输入中包括换行符

您的问题是如何以用户在输入时看到的方式显示格式化的文本。这是一个更普遍的问题,它只与HTML如何处理空白有关

正如Ikke所说,一种方法是对评论调用
nl2br
。这将用对渲染输出有可见影响的

标记替换所有新行(浏览器忽略)

另一种选择是将文本放入
标记中。这将强制浏览器在保留空白的情况下进行渲染

这取决于什么对你更方便/更适合


更新:需要澄清的是:在将用户输入插入数据库之前不要修改它(除非它是输入验证的一部分,例如从输入中剥离HTML标记)。以“未接触”的格式存储,并且在输出数据之前只对其进行一些处理。这样,如果您的输出通道将来发生更改,您始终可以选择执行正确的处理(例如,将注释导出到文本文件,而不是将其显示为HTML)。

数据库字段类型是什么?你是如何将其推送到数据库的?内容丰富的文本(如某种标记)是纯文本吗?等等。什么是数据库字段类型?你是如何将其推送到数据库的?内容丰富的文本(如某种标记)是纯文本吗?等等。我想接下来的问题是——一旦评论被存储到数据库中,他将来想用什么格式?如果只有HTML,那么将
粘贴到文本中是可以的。另一件事——奎师那提到的(新行和所有内容),我想知道“所有内容”是什么?我想接下来的问题是——一旦评论被存储到数据库中,他将来想用什么格式?如果只有HTML,那么将
粘贴到文本中是可以的。另一件事——克里希纳提到(新行和所有内容),我想知道“所有内容”是什么?但当我将注释存储在数据库中时,当用户键入时,它不会与新行和其他字符一起存储。我不知道为什么它被删除了?@Krishna:你确定这些角色没有被你处理的其他部分剥夺吗?听起来很像……但当我将注释存储在数据库中时,当用户键入注释时,注释不会与换行符和其他字符一起存储。我不知道为什么它被删除了?@Krishna:你确定这些角色没有被你处理的其他部分剥夺吗?听起来像是。。。