我正在从文本区域中收集文字。 这些文字中有换行符。 然后,我将它保存到数据库中。
但是当我从数据库中检索它并在文本区域中显示进行编辑时,换行符不见了,文字变成了一个长字符串。
我希望原来存在的换行符重新出现。 如何使插入回文本区域时换行符显示正确?
注意:我不能只是将它们转换为<br>
,因为这是要放在
我正在从文本区域中收集文字。 这些文字中有换行符。 然后,我将它保存到数据库中。
但是当我从数据库中检索它并在文本区域中显示进行编辑时,换行符不见了,文字变成了一个长字符串。
我希望原来存在的换行符重新出现。 如何使插入回文本区域时换行符显示正确?
注意:我不能只是将它们转换为<br>
,因为这是要放在
大家都建议将换行符转换为<br />
,但是根据你的问题陈述,这并不是你想要的。你想要再次在文本区域中显示换行符。所以,你需要使用stripcslashes()
- 这将去除\n
并给你你想要的东西,即文本区域中的换行符,而不是HTML <br />
标签:
PHP: stripcslashes
用法:
echo stripcslashes($input_text);
echo nl2br($someText);
当我处理这种问题时,通常会采取以下做法:
在显示数据时,将每个换行符转换为 <br />
:
echo str_replace("\n", "<br />", $data);
\n
。将其保留并存储到数据库中。 下次用户想要更改内容时,只需显示保存的任何数据(包括\n
)。 但是,当您想要将数据显示给HTML时,请先格式化它们,将\n
替换为<br />
。 - ariefbayustr_replace()
不是这样用的:
echo str_replace($data, "\n", "<br />");
str_replace("SEARCH_FOR","REPLACE_WITH",STRING);
SEARCH_FOR
是你想要查找的内容,REPLACE_WITH
是你想要替换成的内容,而 STRING
则是你正在使用的变量(例如 $data
)。
\n
。 - maček