对于将Android中WYSIWYG编辑器的输入发送到PHP服务器的最可靠方法?感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于Bootstrapwysiwyg,将富文本数据保存到mysql、b
对于将 Android 中 WYSIWYG 编辑器的输入发送到 PHP 服务器的最可靠方法?感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于Bootstrap wysiwyg,将富文本数据保存到mysql、bootstrap-wysiwyg--富文本编辑器使用教程、bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器、C#winfom htmleditor – WYSIWYG的有用信息。
本文目录一览:- 将 Android 中 WYSIWYG 编辑器的输入发送到 PHP 服务器的最可靠方法?
- Bootstrap wysiwyg,将富文本数据保存到mysql
- bootstrap-wysiwyg--富文本编辑器使用教程
- bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器
- C#winfom htmleditor – WYSIWYG
将 Android 中 WYSIWYG 编辑器的输入发送到 PHP 服务器的最可靠方法?
如何解决将 Android 中 WYSIWYG 编辑器的输入发送到 PHP 服务器的最可靠方法?
我在 Android 中创建了一种 WYSIWG 编辑器。要发送的数据具有以下示例结构:
text
image
image
text
第一个想法是通过 JSON 以这种方式发送它:
{"1": {"text": "Text 1"},"2": {"image": "Image 1"},"3":{"image": "Image 2"},"4": {"text": "Text 2"}}
图像将是一个 base64 字符串。我认为这不是最好的主意,因为 JSON 字符串的长度是有限的。
想法 2: 创建 PHP 套接字服务器并创建基于 TCP 的客户端服务器应用程序。
想法 3: 创建一个 PHP 网络服务器并通过 post 请求发送数据。
哪种方式是将图像和文本数据传输到网络服务器的最快、最可靠的方式?还有其他快速可靠的方法吗?是否有限制(例如数据传输的大小)? PHP Socket Server 可以工作吗?最多有 100 个客户端和一个服务器。
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富文本编辑器
日期:2013-5-1 来源:GBin1.com
在线演示
如果你寻找一款boostrap的HTML富文本编辑器的话,这里推荐一款超简单的富文本编辑器 - bootstrap-wysiwyg。
主要特性
- 超小5kb
- 自动的热键支持(MAC和windows)
- 拖放的插入图片,支持图片上传(支持手机拍照)
- 支持声音输入(chrome支持)
- 允许自定义的工具条,可以使用所有的bootstrap内容,字体
- 不使用任何强制的样式
- 使用标准的浏览器特性,没有非标准的使用代码,工具条和按键可以执行任何支持浏览器的命令
- 不创建任何的iframe,textarea,使用简单的行内div
- 可选的清楚空白和空div和span
- 支持现代浏览器(Chrome 26, Firefox 19, Safari 6, IE10)
- 支持移动设备( IOS 6 Ipad/Iphone and Android 4.1.1 Chrome)
如何使用
$(''#editor'').wysiwyg();
保证样式如下:
#editor {overflow:scroll; max-height:300px}
网站地址:http://mindmup.github.io/bootstrap-wysiwyg/
来源:bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器
C#winfom htmleditor – WYSIWYG
C#winform应用程序有什么WYSIWYG?
TNX
解决方法
WebBrowser
控件中即可完成.
关于将 Android 中 WYSIWYG 编辑器的输入发送到 PHP 服务器的最可靠方法?的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Bootstrap wysiwyg,将富文本数据保存到mysql、bootstrap-wysiwyg--富文本编辑器使用教程、bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器、C#winfom htmleditor – WYSIWYG的相关信息,请在本站寻找。
本文标签: