最近很多小伙伴都在问react-draft-wysiwyg富文本和react富文本编辑器推荐这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展8个好用的WYSIWYGHTML编辑器、
最近很多小伙伴都在问react-draft-wysiwyg富文本和react 富文本编辑器推荐这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展8个好用的 WYSIWYG HTML 编辑器、Bootstrap wysiwyg,将富文本数据保存到mysql、bootstrap-wysiwyg--富文本编辑器使用教程、bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器等相关知识,下面开始了哦!
本文目录一览:- react-draft-wysiwyg富文本(react 富文本编辑器推荐)
- 8个好用的 WYSIWYG HTML 编辑器
- Bootstrap wysiwyg,将富文本数据保存到mysql
- bootstrap-wysiwyg--富文本编辑器使用教程
- bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器
react-draft-wysiwyg富文本(react 富文本编辑器推荐)
8个好用的 WYSIWYG HTML 编辑器
1. Xinha
Xinha 是一个强大的可视化HTML编辑器,可以在所有的浏览器上运行。它支持多种配置,从精简的mini编辑器到全功能的网站编辑器。
2. XStandard
XStandard 是一个完全兼容标准的可视化编辑器,可以用于桌面程序和网页程序。XStandard支持Visual Studio, Access,VB 和 VC++,IE,Firefox,Safari和Opera。
XStarndard 会生成标准的 XHTML 并且使用 CSS 来排版,保证干净的内容和样式分离。
3. CK Editor
这是一款类似 MS Word 的在线富文本编辑器。
4. YUI Editor
这个编辑器替换了标准了 HTML textarea,支持各种文本格式编辑。它的工具栏是通过插件的结构实现的,可以深度定制。
5. Bitflux Editor
这是基于Mozilla浏览器的一个编辑器,看上去有些古老。
6. Rich text edit codeplex
这是第一款支持 sliverlight 的富文本编辑器。
7. Nicedit
NicEdit是一款轻量级的跨平台内联内容编辑器。你可以在随时在网页上嵌入这个编辑器。它可以和任意网站整合,让任意元素例如 div 编程可编辑的 textarea。
8. Jwysiwyg
这个编辑器也是通过替换 textarea 来实现编辑功能的。
Bootstrap wysiwyg,将富文本数据保存到mysql
Bootstrap提供了一个叫wysiwyg的富文本组件,用来显示和编辑富文本数据,但如何将编辑后的数据保存到MysqL数据库,却不得而知。另外,如何将MysqL数据库中的数据显示到wysiwyg也不得而知,对于这两个问题,让我来告诉你解决方案!
###一、效果展示
首先,我们先来看看效果如何:
- 富文本中有一张图片,还有一个数字列表
- 我们可以看到编辑后的数据保存成功,以及保存后对应的展示。
###二、富文本
度娘对于富文本的解释如下:
富文本格式(Rich Text Format, 一般简称为RTF)是由微软公司开发的跨平台文档格式。大多数的文字处理软件都能读取和保存RTF文档。RTF是Rich textformat的缩写,意即多文本格式。这是一种类似DOC格式(Word文档)的文件,有很好的兼容性,使用Windows“附件”中的“写字板”就能打开并进行编辑。RTF是一种非常流行的文件结构,很多文字编辑器都支持它。一般的格式设置,比如字体和段落设置,页面设置等等信息都可以存在RTF格式中,它能在一定程度上实现word与wps文件之间的互访。
如果说富文本不包含图片,我们可以使用普通的html转码方法,见标题四;如果富文本包含图片,普通的html转码已经满足不了我们了,就需要用到jquery.base64.js,见标题三。
那么同时,我们看一看MysqL字段的定义:
`description` longtext NOT NULL COMMENT ''项目详细描述'',
字段类型为longtext(LongText 最大长度4294967295个字元 (2^32-1),虽然我也不知道到底有多大)。
###三、jquery.base64
####①、引入jquery.base64.js
<script type="text/javascript" src="${ctx}/components/jquery/jquery.base64.js"></script>
同时设置utf-8编码,确保中文不乱码.
$.base64.utf8encode = true;
####②、富文本表单提交
var editor = "<input type=''hidden'' name=''" + $this.attr("name") + "'' value=''"
+ $.base64.btoa($this.html()) + "'' />";
关键代码:将富文本对象的html值转换为base64,然后封装到表单form中。
详细见如下(一整个form提交的表单封装,参照与dwz框架):
/**
* 带文件上传的ajax表单提交
*
* @param {Object}
* form
* @param {Object}
* callback
*/
function iframeCallback(form, callback) {
YUNM.debug("带文件上传处理");
var $form = $(form), $iframe = $("#callbackframe");
// 富文本编辑器
$("div.editor", $form).each(
function() {
var $this = $(this);
var editor = "<input type=''hidden'' name=''" + $this.attr("name") + "'' value=''"
+ $.base64.btoa($this.html()) + "'' />";
$form.append(editor);
});
var data = $form.data(''bootstrapValidator'');
if (data) {
if (!data.isValid()) {
return false;
}
}
if ($iframe.size() == 0) {
$iframe = $("<iframe id=''callbackframe'' name=''callbackframe'' src=''about:blank''display:none''></iframe>")
.appendTo("body");
}
if (!form.ajax) {
$form.append(''<input type="hidden" name="ajax" value="1" />'');
}
form.target = "callbackframe";
_iframeResponse($iframe[0], callback || YUNM.ajaxDone);
}
function _iframeResponse(iframe, callback) {
var $iframe = $(iframe), $document = $(document);
$document.trigger("ajaxStart");
$iframe.bind("load", function(event) {
$iframe.unbind("load");
$document.trigger("ajaxStop");
if (iframe.src == "javascript:''%3Chtml%3E%3C/html%3E'';" || // For
// Safari
iframe.src == "javascript:''<html></html>'';") { // For FF, IE
return;
}
var doc = iframe.contentDocument || iframe.document;
// fixing Opera 9.26,10.00
if (doc.readyState && doc.readyState != ''complete'')
return;
// fixing Opera 9.64
if (doc.body && doc.body.innerHTML == "false")
return;
var response;
if (doc.XMLDocument) {
// response is a xml document Internet Explorer property
response = doc.XMLDocument;
} else if (doc.body) {
try {
response = $iframe.contents().find("body").text();
response = jQuery.parseJSON(response);
} catch (e) { // response is html document or plain text
response = doc.body.innerHTML;
}
} else {
// response is a xml document
response = doc;
}
callback(response);
});
}
####③、富文本数据展示
$(''#editor'').html($.base64.atob(description, true));
通过base64对数据库中保存的HTML代码进行解码。
####④、wysiwyg组件
关于wysiwyg组件封装代码,我已上传到CSDN的代码库,可详细参照。
###四、普通html转码做法
function html_encode(str) {
var s = "";
if (str.length == 0)
return "";
s = str.replace(/&/g, ">");
s = s.replace(/</g, "<");
s = s.replace(/>/g, ">");
s = s.replace(/ /g, " ");
s = s.replace(/\''/g, "'");
s = s.replace(/\"/g, """);
s = s.replace(/\n/g, "<br>");
return s;
}
function html_decode(str) {
var s = "";
if (str.length == 0)
return "";
s = str.replace(/>/g, "&");
s = s.replace(/</g, "<");
s = s.replace(/>/g, ">");
s = s.replace(/ /g, " ");
s = s.replace(/'/g, "\''");
s = s.replace(/"/g, "\"");
s = s.replace(/<br>/g, "\n");
return s;
}
一般情况下,使用上面两个方法对html数据进行编码和解码,但是对于图片的保存却无能为力。
总结
以上是小编为你收集整理的Bootstrap wysiwyg,将富文本数据保存到mysql全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
原文地址:https://blog.51cto.com/u_2324584/2935278
bootstrap-wysiwyg--富文本编辑器使用教程
总结
以上是小编为你收集整理的bootstrap-wysiwyg--富文本编辑器使用教程全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器
总结
以上是小编为你收集整理的bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
今天关于react-draft-wysiwyg富文本和react 富文本编辑器推荐的介绍到此结束,谢谢您的阅读,有关8个好用的 WYSIWYG HTML 编辑器、Bootstrap wysiwyg,将富文本数据保存到mysql、bootstrap-wysiwyg--富文本编辑器使用教程、bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器等更多相关知识的信息可以在本站进行查询。
本文标签: