ThinkPHP整合百度Ueditor图文教程


Posted in PHP onOctober 21, 2014

ThinkPHP整合百度Ueditor,基于黄永成老师的视频说明的
申明:最好大家都能写绝对路径的都写好绝对路径比如:window.UEDITOR_HOME_URL

他在教程里面已经说了的,我就不再次说了啊,就一笔带过,好了不废话!

在调用编辑器的时候首先先初始化一些值:

<script type="text/javascript" charset="utf-8">
  window.UEDITOR_HOME_URL = "/Public/ueditor/"; //UEDITOR_HOME_URL、config、all这三个顺序不能改变
  window.onload=function(){
    window.UEDITOR_CONFIG.initialFrameHeight=300;//编辑器的高度
    window.UEDITOR_CONFIG.imageUrl="{:U('admin/Category/checkPic')}";     //图片上传提交地址
    window.UEDITOR_CONFIG.imagePath=' /Uploads/thumb/';//编辑器调用图片的地址
    UE.getEditor('contents');//里面的contents是我的textarea的id值
    
    }
 
</script>

然后再引入2个js文件,分别是:1、ueditor.all.min.js 2、ueditor.config.js
在这里申明一下 我以上说的调用方式,顺序绝对不能乱,乱了就会出问题了,所以你就按照我的按部就班的做吧!

因为我重写了编辑器的图片提交地址,所以我还得在控制器里面写一个对图片处理的方法。

代码如下:

//改变Ueditor 默认图片上传路径
    public function checkPic(){
      import('ORG.Net.UploadFile');
       $upload = new UploadFile();// 实例化上传类
       $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
       $upload->autoSub =true ;
       $upload->subType ='date' ;
       $upload->dateFormat ='ym' ;
       $upload->savePath = './Uploads/thumb/';// 设置附件上传目录
       if($upload->upload()){
         $info = $upload->getUploadFileInfo();
         echo json_encode(array(
          'url'=>$info[0]['savename'],
          'title'=>htmlspecialchars($_POST['pictitle'], ENT_QUOTES),
          'original'=>$info[0]['name'],
          'state'=>'SUCCESS'
         ));
       }else{
         echo json_encode(array(
         'state'=>$upload->getErrorMsg()
         ));
           }
 
      }

我首先给大家看看代码先,在继续说明,

1、引入tp官方的文件上传处理类,然后初始化一些配置,这些都不介绍了啊!

2、判断他是否上传成功了,如果上传成功了,就先获取他的上传成功的信息,然后把数组转成json,用phpjson_encode。如果上传失败就把上传失败的信息直接返回!

以上都是在黄永成老师教程里面已经说明了的!就不详细说明了,不懂的就去看视频!

在整合好了上传后,发现上传的图片路径被转义了,一直显示不出来如图:

ThinkPHP整合百度Ueditor图文教程

我就在显示出数据的哪里用反转义函数,进行操作了一下{$article.content|stripslashes}这样就是把转义的字符串进行反转义,这样数据就能正常显示了
如图:ThinkPHP整合百度Ueditor图文教程

然后在前台模版显示数据的时候不仅要反转义还要去掉html实体化,{$article.content|htmlspecialchars_decode|stripslashes}这样就能正常显示了!

还有哟个问题,百度编辑器当里面的内容增长时,他的高度也是增长的,如图:

ThinkPHP整合百度Ueditor图文教程

解决方案就是在Ueditor的配置文件ueditor.config.js,里面的第428行打开注释,改成true,还有430行注释打开把他改成你初始化的的高度对应就好了。如图:

ThinkPHP整合百度Ueditor图文教程

这样编辑器就不会撑高了!如图:

ThinkPHP整合百度Ueditor图文教程

完结!!! 说的不好的大神勿喷~~这个只是分享交流,如果说错了 指出来就行了 谢谢~~~

补充说明:关于Ueditor在ie7下面调用不出来的bug问题解决办法,这个是前天逛官网的时候,发现一个人的这个问题的,因为我只有人见人爱的ie6,也都没有去测试,所以还是别人提醒,现在更正一下ie7的bug解决方案~感谢这位大湿啊~
如图:

ThinkPHP整合百度Ueditor图文教程

PHP 相关文章推荐
生成卡号php代码
Apr 09 PHP
php获取某个目录大小的代码
Sep 10 PHP
10条PHP编程习惯助你找工作
Sep 29 PHP
PHP 组件化编程技巧
Jun 06 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 PHP
利用PHP实现图片等比例放大和缩小的方法详解
Jun 06 PHP
ThinkPHP实现跨模块调用操作方法概述
Jun 20 PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 #PHP
php读取目录及子目录下所有文件名的方法
Oct 20 #PHP
php中的字符编码转换函数用法示例
Oct 20 #PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 #PHP
php的ZipArchive类用法实例
Oct 20 #PHP
php自定义apk安装包实例
Oct 20 #PHP
php防止站外远程提交表单的方法
Oct 20 #PHP
You might like
php代码优化及php相关问题总结
2006/10/09 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
如何用php获取程序执行的时间
2013/06/09 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
一个网马的tips实现分析
2010/11/28 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
python中比较两个列表的实例方法
2019/07/04 Python
详解python中__name__的意义以及作用
2019/08/07 Python
Python实现代码统计工具
2019/09/19 Python
python之array赋值技巧分享
2019/11/28 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
python常量折叠基础知识点讲解
2021/02/28 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
环保倡议书400字
2014/05/15 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers