我正在使用jHtmlArea从用户那里获取一些HTML,一切都很好但是当我尝试从其他网站粘贴一些文字时,它不会解码<br/>
的换行符。盒子。这只发生在粘贴的文本中,手动输入的文本很好。
因此,当我想要正确显示文本时,我会使用类似:
的内容@Html.Raw(Model.Text.Replace(Environment.NewLine, "<br/>"))
但是当我需要在jHtmlArea中重新显示相同的文本供用户编辑时,它会丢失所有换行符。有谁知道如何解决这个问题?
答案 0 :(得分:0)
我最终使用它,有太多的错误,我没有时间来解决.. 无论如何,这里是我用保存文本正确显示换行符所做的事情(如果您计划使用此“hack”,请在将其保存到db之前检查源是否良好)
$(document).ready(function () {
//Initialize JhtmlArea
$(".editor").htmlarea({
toolbar: [
["bold", "italic", "underline"],
["orderedList", "unorderedList"],
["link", "unlink"],
]
});
//Set id (id will be same for all instances)
$("iframe").attr("id", "editor");
// Style hack
$("#editor").contents().find('body').css({ "font-family": "MS Shell Dlg", "font-size": "12px", "font-weight": "100" });
// Finally to newlines hack
var html = $(".editor").htmlarea("toHtmlString");
// I would od something like $(".editor").htmlarea("html", "");
// But there is a bug since this function calls "pastHtml" internally
// which is a typo instead of
// "pasteHtml" so it won't work
$("#editor").contents().find('body').html("");
$(".editor").htmlarea("pasteHTML", html.replace(/\n/g, '<br\>'));
});