我将其从文本区域插入数据库:
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/