【发布时间】:2012-03-12 19:07:01
【问题描述】:
我在 textareas 中插入换行符时遇到了一点问题。在我提交表单后,数据库中的文本显示如下:
“文本\r\nfor”(我在 Windows 上)
对于以下文本:
“文本
为”
然后在我从文本区域中的数据库中检索到相应的文本后,它显示:
“文本\r\n\for”
我正在使用 PHP 并将文本放在 textarea 中,如下所示:
<textarea name="post_content">{$post_content}</textarea>
我希望它使用换行符而不是 \n 或 \r\n 正确呈现。
【问题讨论】:
-
在回显内容之前,尝试用
str_replace()去除'\r'。例如:str_replace("\r\n", "\n"); -
我现在很困惑。您只是想删除所有
\r还是您实际上在文本区域中有两个符号 \ 和 n 而不是新行? -
我希望 \n 或 \r\n(Windows 对应)呈现为新行,而不是纯“\r\n\”文本。
-
如果您的数据库中有
\r\n\作为 5 个单独的符号,则您用于将此数据输入数据库的代码有问题。换行符\n永远不会在任何地方存储为两个单独的字符。这只是编程语言告诉编译器或解释器你想要一个换行符的简写。例如echo strlen("\n");将输出1,因为\n被解释为单个换行符。您可能想向我们展示处理 textarea 内容并将其放入数据库的代码。 -
我在查询中发送的所有变量上都使用了 mysql_escape_string。这可能是原因吗?是的,我在我的数据库字符串中看到了 \r\n。
标签: php javascript html textarea newline