php - 处理包含 '\n' 转义序列的数据库结果

标签 php mysql textarea

我将其从文本区域插入数据库:

Hello

How 

Are 

You

它的保存方式如下:

Hello\n\nHow \n\nAre \n\nYou 

但是当我将其通过nl2br后显示在文本区域中时,它仍然显示为Hello\n\nHow\n\nAre\n\nYou。如何让它以与插入数据库相同的方式显示?

这是我用来获取值的 jQuery 代码:

           var getURL = WEBROOT + "index.php/Connection/getConfig/" + rowID;
                    var editConfig = $("<div>");
                    editConfig.load(getURL, function(){
                        var configValue = $(this).html();
                        console.log(configValue);
                        var button = $("<button>", {
                                html: "submit"
                            }),
                            textArea = $("<textarea>",{
                                width: "350px", height: "600px"
                            }).val(nl2br(configValue));
                        $(this).text("").append(
                            textArea,
                            $("<br/>"),
                            button
                        ).dialog({
                            title: "Editing Config for id " + rowID,
                            modal: true,
                            width: 405
                        });
                  });

最佳答案

(升级到答案)

听起来您存储了字符序列 \n在您的数据库中,而不是由该转义代码表示的实际换行符。在这种情况下 nl2br 不会有任何区别(它用 HTML <br/> 标签替换实际的换行符,这甚至不是您想要在 <textarea> 中显示换行符的内容) - 您需要使用 stripcslashes 相反。

但是,我建议修复数据库中的数据,以便其内容不会被转义。

关于php - 处理包含 '\n' 转义序列的数据库结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640316/

相关文章:

javascript - 通过 JQuery 为 PHP 创建的元素附加事件

mysql - Sphinx:用多个索引近似字符串排序的最佳方法是什么?

mysql - 插入重复键

javascript - 从文本区域中删除点标记

php - php中的 session 和cookie有什么区别?

php - 不同的操作系统和服务器路径

php - 导入表时避免重复

php - 如何使用 PHP 将撇号从文本区域传递到 MySQL

Javascript for循环更改函数中文本区域的名称

php - 不能 `Select DISTINCT`