1.背景:

       其实学习UEditor本该在这之前就应该学习整合到自己的项目中的了,第一次接触UEditor是在暑假期间,当时做东西在师兄的代码中发现了这东西,心想:卧槽,竟然可以这样整合别人的东西!当时下定决心要学习一下,但是......
      (1).看师兄源码,发现是用JS来应用的,但是当时没有学过一点JavaScript,所以:当我第一次看到这个东西的时候,内心是拒绝的,认为我会看不懂【其实跟动不动JS半毛钱关系都没有】。
      (2).去官方查看手册,可是第一篇都没看完,就发现:丫,好多!还分了PHP ASP JSP三个版本,肯定很难学。
      (3).搜博客:搜到的博客大多是一上来就上代码【让我没有一点心理准备,臣妾惶恐,实在接受唔到咯】!
      于是将学习UEditor的计划推迟了,一直以来也迟迟不肯去接触,要用到编辑的时候都是用textarea,然后花一堆时间去美化【现在细想,实在愚蠢】!最近刚组织学习团队,需要用到这个知识点(细想毕竟这个会用这个还是比较方便的,所以打算先自己学一下)!静下心来仔细看了一下官方的文档,发现:我丢......原来那么简单的啊!【如果看文章看到了这里,还是接着看下去吧】
      学习接口性质类的东西,最官方权威的时候是看官方文档,但是我想还是有人因该跟我一样,对这东西天生还是有点恐惧感的!多少需要别人来告诉自己一声:其实这个很简单,这么去学就很简单了!因此,【有缘人啊....】如果看到这篇文章并且坚持看到了这里,那你不妨继续看下去,在这篇博客中,记录了:编辑器的原理及各种常用编辑器的引入的一个大概的思路与学习方法!【当然,如果写错了,还请留下您宝贵的指点意见,谢谢指教,欢迎指教学习】(由于从为知笔记同步到博客的,代码编排真是丑哭了朕,所以我附上的是代码截图)
      百度针对论坛贴吧评论,又做了一个UM的编辑器,是UE的简化版!大家也可以去看看~
对于此次学习,有以下几点编程感悟:
==>1).技术都是想的难,其实很简单==>难是难在自己的想法了,认为很难!要尝试静下心去看这个东西!
==>2).对于编辑器,在线支付,微信开发接口....这些不是PHP知识点的知识[因为这些东西都是单纯的调用API罢了],最好的方法==>读官方手册,最权威;看下载压缩包中的example实例,入门最快;
==>3).多动手,跟着官方文档的思路去敲代码!你不可能会所有语言,因此对待不懂的语言不要去抗拒!语言是学不完的【不管你懂不懂引入的这个语言,先把东西做出来再说】

2.编辑器原理:

    1).什么是编辑器==>对文字有编辑作用[修改,删除....],对文字的加粗,划下划线......这些都是对文字样式的改变(其实并不属于编辑器的功能,但是现在大多编辑器都集成了)
          ==>下面这段代码,对于“hello world!”这几个字只是单纯的一个显示,我们无法删除,无法重新修改
          ==>但是对于下面这个div呢?你还是单单只能看这个内容:“hello lms, what you like ?......”吗?
    2).编辑器原理:
          ==>插入一个iframe,并利用网页的contentEditable属性,使得该iframe可以编辑;
          ==>利用JS改变文字的样式,完成加粗,变色,加下划线,上传图片效果
          ==>最后获取该区域的内容即可!至于如何处理,这些都是业务逻辑代码了!

3.常见的编辑器:

1).比较长久老牌:FCKEditor-->更名为CKEditor;KindEditor【比较老,教程这些的都很多....】
2).国内淘宝用的:ewebEditor
3).目前比较新,流行的:UEditor,UM编辑器[为论坛贴吧定制的]==>都是百度出的!

4.如何学习编辑器:最权威,最官方的就是取看官方文档【以UEditor为例】

          1).如何引入
                     ==>就是引入几个js文件的事
                     ==>http://fex.baidu.com/ueditor/官方DOC文件《1.2 创建demo文件》中有详细说明

          2).如何个性化配置==>
                (1).在引入页面覆盖配置【推荐使用这个】
                     ==>去配置文件中找到对应的配置项,拼接成一个对象,当成参数传给UE.getEditor('container',{配置项1 , 配置项2, ...... })进行设置
                (2).对配置文件进行修改==>【一修改,那么所有引用了这个编辑器的都会被更改】
                     ==>ueditor.config.js【前台显示配置】
          3).如何与自己系统整合==>
                (1).现在你所需要运用编辑器的地方,将编辑器的"前端"引入进来;==>路径URL写死[整合到项目中的时候,资源是不能乱放的]
                (2).==>对应语言的包下的config.json【后台处理配置--图片、视频上传路径....将默认的目录路径改为你要存放的地方】
                            ①.在表单中要加上: enctype="multipart/form-data"==>有文件上传,图片上传等必须要加[以二进制数据进行传输数据]
                            ②.对于不明确的路径,使用firebug查看原本路径,一直追溯路径变量
                            ③.使用firebug查看返回来的值,查看返回来的[以上两个是针对于出现问题时候,调试可以用的方法]
                            ④.UE的1.4.2+版本中的通用上传类Upload.class.php,所有配置都写在了config.json中,只需要在config.json中修改对于路径即可
                           ⑤.1.4.2+ 以后路径配置主要相关的配置项是 PathFormat【上传保存路径】 和 UrlPrefix【访问路径--对于ASP和.net来说需要配置】的配置项
                       ⑥.1.4.2+ 路径配置项无论是否以 "/" 开头,都是相对于 网站根目录 的路径。
                             ⑦.后台会过滤模板上的非法字符==> \ : * ? " < > |   ==>这些非法字符都会被替换成空
 

UEditor编辑器并不难的更多相关文章

  1. tp中ueditor编辑器的使用

    1/引入三个文件 <script type="text/javascript" charset="utf-8" src="{$Think.con ...

  2. UEditor编辑器的使用

    1.首先我们要去官网下载UEditor编辑器,选择语言,这里我用的是php utf-8版本(李昌辉) 2.下载完成之后解压文件,将解压的文件放到我们的网站目录里面 3.ueditor/utf8-php ...

  3. 一个页面实例化两个ueditor编辑器,同样的出生却有不同的命运

    今天遇到一个比较怪异的问题,有一项目需要在同一个页面上展现两个ueditor编辑器,在展现时并不任何问题,但当点击了“保存”按钮时就出错了,有其中一个ueditor在asp.net中无法获取编辑器的值 ...

  4. 使用 UEditor 编辑器获取数据库中的数据

    在 ThinkPHP 3.2.2 中,使用 UEditor 编辑器获取数据库中保存的数据,可以使用 UEditor 自身提供的方法. 首先在视图模板中实例化编辑器,这是出现编辑器界面的必须的行为: & ...

  5. html 实体转换为字符:转换 UEditor 编辑器 ( 在 ThinkPHP 3.2.2 中 ) 保存的数据

    在 ThinkPHP 3.2.2 中使用 UEditor 编辑器保存文章内容时,数据库中保存的数据都被转义成实体,例如:&lt;p&gt;&lt;strong&gt;& ...

  6. 百度Ueditor编辑器的Html模式自动替换样式的解决方法

    百度的Ueditor编辑器出于安全性考虑,用户在html模式下粘贴进去的html文档会自动被去除样式和转义.虽然安全的,但是非常不方便. 做一下修改把这个功能去掉. 一.打开ueditor.all.j ...

  7. 织梦更换Ueditor编辑器后栏目内容提交更新失败

    今天在使用网友的相关经验<百度编辑器(Ueditor)整合到dedecms>,给织梦dedecms系统更换编辑器后,文章编辑器使用正常,在编辑栏目内容的时候,出现提交后不更新内容的情况,上 ...

  8. 解决在 MVC  局部视图中加载 ueditor 编辑器时, 编辑器加载不出的 bug

    在 MVC 局部视图中,有时我们需要 加载 ueditor 编辑器,或进行局部刷新, 但是在加载局部视图后,ueditor 编辑器加载不出,这是由于 ueditor 使用的缓存,只要清空缓存,重新实例 ...

  9. asp.net mvc4使用百度ueditor编辑器

    原文  http://www.cnblogs.com/flykai/p/3285307.html    已测试 相当不错 前言 配置.net mvc4项目使用ueditor编辑器,在配置过程中遇见了好 ...

随机推荐

  1. ios UILabel在storyBoard或xib中如何在每行文字不显示完就换行

    大家知道怎么用代码让label中的文字换行,只需要 label.numberOfLines = 0; label.text = @"这是第一行啦啦啦啦,\n这是第二行啦啦,\n这是第三行&q ...

  2. linux下python调用c模块

    在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明:   (1)编写C代码,hel ...

  3. PHP移动文件指针ftell()、fseek()、rewind()总结

    在对文件进行读写过程中,有时需要在文件中跳转.同不同位置读取,以及将数据写入到不同的位置.例如,使用文件模拟数据库保存数据,就需要移动文件指针.指针的位置是以从文件头开始的字节数度量的,默认以不同模式 ...

  4. 06Java数组

    动手动脑: import java.io.*; public class QiPan { //定义一个二维数组来充当棋盘 private String[][] board; //定义棋盘的大小 pri ...

  5. Android开发学习笔记:浅谈显示Intent和隐式Intent

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/655132 ...

  6. Scala中Iterator允许执行一次

    背景 使用spark执行mapPartitionsWithIndex((index,iterator)=>{....}),在执行体中将iterator进行一次迭代后,再次根据iterator执行 ...

  7. NES模拟器开发-PPU笔记

    20151008 占坑,暂时没弄清楚PPU数据如何初始化,绘制顺序等.

  8. Ext.encode 抛出异常“Uncaught RangeError: Maximum call stack size exceeded”

    在用使用Ext.encode(ExtObject)过程中抛出了如下错误: Uncaught RangeError: Maximum call stack size exceeded 实际上,不能用 E ...

  9. 先学习下一些基础的js和xpath语法

    这两个方法到底是在做什么呢?其实就是克隆了当前指令的节点,并生成子作用域.克隆的节点由transclude定义,如果你的属性是true,则克隆的是指令模板中的ng-transclude所在的DOM节点 ...

  10. CS0234: 命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Html、Ajax”(是否缺少程序集引用?)

    从SVN上down下来的程序,编译报了一大堆的错,发现是缺少引用,但是明明引用了,后来打开引用,发现system.web.mvc这个引用打着叹号,如图: 后来重新引用了本机的system.web.mv ...