0

我将它从文本区域插入到数据库中:

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
                        });
                  });
4

6 回答 6

3

升级到答案

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

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

于 2012-05-17T17:25:52.120 回答
0

您不能格式化文本区域中的文本。您可以使用 div 代替。使用str_replace()替换“\n”

于 2012-05-17T17:15:45.167 回答
0

这可能不是正确的做事方式,但您总是可以在将其存储到表中之前将其替换\n<br>using 。str_replace然后,您只需输出消息,所有内容都将正确格式化。

于 2012-05-17T17:19:03.487 回答
0

nl2br 将换行符转换为 br html 标记,并且您不能仅在 div 中呈现 textarea 中的 html。如果你想显示带有换行符的文本,你最好使用 Tiny-Mce http://www.tinymce.com/tryit/full.php它让这样的事情变得简单

于 2012-05-17T17:19:04.753 回答
0

我不认为你曾经echo nl2br($var)在 textarea 中显示。原因是,如果你这样做了,那么\r\n就会变成<br/>你会看到

Hello<br/>How <br/>Are <br/>You 

使用以下代码在 textarea 中显示:

echo $var

使用以下代码显示文本区域外部,即在表格单元格或 DIV 等内部。

echo nl2br($var)
于 2012-05-17T17:19:53.253 回答
0

我只是把它放在一个新的 HTML 文件中:

<form>
<textarea>
abc
def
123
</textarea>
</form>

要将换行符放入文本区域,<br>不应使用 - 而是硬返回。让你的 PHP 脚本输出"\n"到浏览器,看看会发生什么。

于 2012-05-17T17:21:06.173 回答