MYSQL PHP在textarea中保存换行符以便以后显示

时间:2012-11-17 23:37:33

标签: php mysql line-breaks

我正在收集textarea的文字。文本中有换行符。然后我将其保存到数据库中。

然而,当我从数据库中检索它并将其显示回textarea进行编辑时,换行符就会消失,文本会变成一个长连续字符串。

我希望那里的换行重新出现。如何在插回textarea时将换行符显示为什么?

注意:无法将它们转换为<br>,因为这会在textarea 中显示 {{1}元素不会被渲染,而只是写成文本。我想要实际的换行符。

4 个答案:

答案 0 :(得分:5)

每个人都建议将换行符转换为<br />,但正如您在问题中所说,这不是您想要的。您想再次在textarea中显示换行符。所以,你需要的是stripcslashes() - 这将删除\n并给你你所追求的,在你的textarea中换行,而不是textarea中的html <br />标签:

PHP:stripcslashes

用法:

echo stripcslashes($input_text);

答案 1 :(得分:0)

您可以使用以下内容:

echo nl2br($someText);

答案 2 :(得分:-1)

这是我在处理这类问题时通常所做的事情:

  1. 保存表格中的数据接收方。这意味着,如果用户使用换行符,则以这种方式存储它。不要改变它。
  2. 在显示数据时,将每个换行符转换为<br />

    echo str_replace("\n", "<br />", $data);
    
  3. 使用此技术,您可以保留用户在textarea中使用的任何格式数据。

答案 3 :(得分:-1)

str_replace()不是这样的:

echo str_replace($data, "\n", "<br />");

它是这样的:

str_replace("SEARCH_FOR","REPLACE_WITH",STRING);

从某种意义上说,SEARCH_FOR是您要查找的内容,REPLACE_WITH是您要替换的内容,STRING是您正在使用的变量(例如$data 1}})。