代码在加载或保存时添加额外的换行符

Code adds extra linebreak when loaded or saved

这是错误的代码(来自 chrome 控制台的屏幕截图)

这是应该的

我不确定是不是从数据库加载它的代码,即:

<p><?php echo nl2br($row[$x]['body']);?></p>

或者保存文本的代码:

jQuery.ajax({
                method: "POST",
                url: "index.php",
                data: { option: "com_ajax", module: "usernotes" , method: "edit", format: "json" , Id: edit_id, body: curBody.replace("", /(\r\n|\n)/g) }

上面ajax调用的函数将它插入到SQL如下:

$db->quoteName('body') . ' = ' . $db->quote(nl2br($bodyToUpdate))

我想我可以成为 jQuery 的 returns。这就是我尝试的原因:

curBody.replace("", /(\r\n|\n)/g)

解决方案是删除 nl2br

代码为:

$db->quoteName('body') . ' = ' . $db->quote(nl2br($bodyToUpdate))

应该是:

$db->quoteName('body') . ' = ' . $db->quote($bodyToUpdate)

并在 css 中为 <p> 添加 white-space: pre; 赞:

.usernotetext p {
    white-space: pre;
}