ThinkPHP使用Ueditor的方法详解


Posted in PHP onMay 20, 2016

本文实例讲述了ThinkPHP使用Ueditor的方法。分享给大家供大家参考,具体如下:

相信很多人现在还在用着FCkeditor,以前我也在用,可是后来发现百度的Ueditor之后,发现,Ueditor比Fckeditor更好看,操作性上也比Fckeditor好多了,所以还是尝试着使用ueditor,但是在ThinkPHP框架下使用ueditor还是遇到了一些问题,也花费了一些时间去解决这些问题,这样,在这里写一个关于ThinkPHP下使用ueditor的教程,给需要使用的人。

1、在网站的根目录下建一个“Public”的文件夹,这个文件夹在ThinkPHP中可以用__PUBLIC__来替换,所以这样方便我们程序的编写,然后将ueditor文件放到这个文件夹中。

2、在我们需要使用ueditor的模板文件中导入ueditor所要使用的js和css,例如,我在App/Tpl/default/Venter/createvent.html中添加以下代码:

<script type="text/javascript" src="__PUBLIC__/ueditor/editor_config.js"></script>
<script type="text/javascript" src="__PUBLIC__/ueditor/editor_all.js"></script>
<link rel="stylesheet" href="__PUBLIC__/ueditor/themes/default/ueditor.css"/>

3、配置Ueditor相对于网站根目录的位置,这里我建议使用绝对路径,即类似于http://localhost:1080这样的路径,因为在网站项目的开发中,很多地方会用到ueditor,但是由于所用到的位置不同便导致当前目录和服务器根目录的相对路径变化,也就使得ueditor无法使用,例如,我配置的路径(配置文件:ueditor目录下的editor_config.js),将一下代码进行替换:

URL= tmp.substr(0,tmp.lastIndexOf("\/")+1).replace("_examples/","");
//这里你可以配置成ueditor目录在您网站的相对路径或者绝对路径(指以http开头的绝对路径)

替换成:

URL = "http://localhost:1080/Public/ueditor/";

4、下面便是一个对表单的使用的应用:

<form action="__ROOT__/index.php/Venter/ventChk" method="post">
  <script type="text/plain" id="Vent" style="width:500px;"></script>
  <input type="checkbox" name="opened" value="1"/>公开发表
  <input type="submit" value="发泄" />
</form>
<!--注册百度ueditor-->
<script type="text/javascript">
  var editor = new baidu.editor.ui.Editor({
    toolbars:[['Spechars','Emotion','InsertImage','Bold','Italic','ForeColor','FontFamily','FontSize', ]],//自定义ueditor工具栏
    initialContent: '<span style="color:#ccc">点击这里发泄吧</span>',
    minFrameHeight: 100,//初始化框架大小
    autoFloatEnabled: false,//工具栏自动浮动-》关闭
    textarea:'myVent'//form表单将通过该参数获得表单提交的数据
  });
  editor.render("Vent");
</script>
<!--百度Ueditor注册完毕-->

如上面代码所示,可以通过$_POST['myVent']来获取Ueditor编辑区的内容。

5、在Thinkphp中如何去使用呢?首先要先将得到的内容提交进行转义,这里我们使用以下代码:

$content = htmlspecialchars(stripslashes(POST['myVent']));

这之后的操作便是将$content插入到数据库中(这里不再多说)。

6、从数据中提取数据并进行转义使得内容可以正常显示:

$vent = new VenterModel;
$list = $vent->select();
$this->assign("list",$list)

这样在相应的html模板中可以这样来显示内容:

<volist name="list" id="vo">
{$vo.content|htmlspecialchars_decode}
</volist>

这里用到了thinkphp模板的一个用法,即可以在模板中使用函数,这里便使用了函数htmlspecialchars_decode来对$vo,content进行转义,上面的代码可以看成是这样:

htmlspecialchars_decode($vo.content),在这里的这个方法的选择上我用了很长时间,当时没有考虑到这个方法,当时只是想着,由于htmlspecialchars_decode函数接受的传值不能是数组,所以从数据库中提取的数据便不能直接传给他,后来想可以通过遍历数组的方法来让数组内每个元素都htmlspecialchars_decode一下,虽然可以将内容转义,但是却不能在模板中显示了,直到最后看了一些官方的手册,才想到了这里,所以做程序,一定要多看看官方的文档,很多问题便能解决。

PHP 相关文章推荐
PHP 和 COM
Oct 09 PHP
php获取mysql版本的几种方法小结
Mar 25 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
php学习之简单计算器实现代码
Jun 09 PHP
实现PHP多线程异步请求的3种方法
Jan 17 PHP
PHP通过插入mysql数据来实现多机互锁实例
Nov 05 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
一段实用的php验证码函数
May 19 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 PHP
php读取本地json文件的实例
Mar 07 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 #PHP
thinkphp3.x中session方法的用法分析
May 20 #PHP
PHP编写登录验证码功能 附调用方法
May 19 #PHP
一段实用的php验证码函数
May 19 #PHP
thinkphp3.x中cookie方法的用法分析
May 19 #PHP
thinkphp3.x中display方法及show方法的用法实例
May 19 #PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 #PHP
You might like
PHP校验ISBN码的函数代码
2011/01/17 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
利用javascript/jquery对上传文件格式过滤的方法
2009/07/25 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
理解Javascript文件动态加载
2016/01/29 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
vue初始化动画加载的实例
2018/09/01 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
Python3中的bytes和str类型详解
2019/05/02 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
Python3基于plotly模块保存图片表格
2020/08/03 Python
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
jQuery treeview树形结构应用
2021/03/24 jQuery
建筑设计所实习生自我鉴定
2013/09/25 职场文书
司机的工作范围及职责
2013/11/13 职场文书
优秀大学生自荐信
2015/03/26 职场文书
2016年元旦主持词
2015/07/06 职场文书
小学中队长竞选稿
2015/11/20 职场文书
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技