ueditor富文本编辑器实例 -萝卜胡-我爱你
寻寻觅觅,冷冷清清,
凄凄惨惨戚戚。
#夸夸我 #抱抱我 #亲亲我

ueditor富文本编辑器实例

发布于 2019-12-14 17:38:11 | 标签:富文本 | 阅读量:595


 UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码...

 

前阵子基本搭建好了基于php的个人博客web

不过一直在为自己博客文章内容录入的格式而烦恼,一开始是使用textarea来接收录入的内容,

可是效果和实现都不太理想,于是经过多方搜索得知有这么一个叫做富文本的编辑器。

综合自己的实际情况,我使用了ueditor的富文本编辑器实现我想要的功能和内容。

 

这个富文本编辑器使用的人数还是挺多的,文档也相对来说容易看懂。

接下来记录分享一下我就本网站实现添加应用ueditor富文本编辑器的过程。

 

1. 下载ueditor代码

地址:http://ueditor.baidu.com/website/download.html

文档:http://fex.baidu.com/ueditor/

建议不要下载最新版本的,适用性可能不是很好,我这里下载的是开发版的

[1.4.3.2 PHP 版本] UTF-8版 

(一开始下载的是最新版本的,结果跟环境之间好像出现了问题,之后换成这个版本的之后,问题自己就解决了。)

image.png

 

 

2. 解压到工作目录下,改名为ueditor(我这里的工作目录为htdocs下的webroot

image.png

 

3. ueditor目录下新建一个名为demo.html(名字随便)文件,用记事本打开,另存为utf-8编码的文件。内容如下

<!DOCTYPE HTML>

<html lang="en-US">

 

<head>

    <meta charset="UTF-8">

    <title>ueditor demo</title>

</head>

 

<body>

    <!-- 加载编辑器的容器 -->

    <script id="container" name="content" type="text/plain">

        这里写你的初始化内容

    </script>

    <!-- 配置文件 -->

    <script type="text/javascript" src="ueditor.config.js"></script>

    <!-- 编辑器源码文件 -->

    <script type="text/javascript" src="ueditor.all.js"></script>

    <!-- 实例化编辑器 -->

    <script type="text/javascript">

        var ue = UE.getEditor('container');

    </script>

</body>

 

</html>

4. 确保自己开启了apache服务之后,访问demo.html查看效果。(有的话就基本ok

image.png 

5. 因为我这个是有使用到mysql数据库的,所以需要检查是否正常加载后台配置

UEditor 1.4.2+ 起,把前后端相关的配置项都放到后端文件 php/config.json 设置(配置介绍),在初始化时会向 serverUrl 发起获取后端配置的请求。

 

你可以测试你的网站下的路径 ueditor/php/controller.php?action=config 是否正常返回了json格式的后端配置内容,格式大致如下。如果这个请求出错,出现400500等错误,编辑器上传相关的功能将不能正常使用。

image.png

 

image.png 

6. 开始部署到自己站点,因为我是自己的个人博客,并没有开放注册,是自己在使用,所以一开始我就是想要应用于后台文章的添加,编辑。

image.png

 

上图的name里的neirong是我表单提交的关键字,之后提交到form里指定的action的地址里,编辑里的内容会自己加上html的格式标签(经过转换的,防止恶意攻击),经过表单的提交,之后你自己可以直接提交存储到数据库中,建议数据库对应的字段的类型修改为longtext类型。

还有就是注意<script type="text/javascript" src="../ueditor/ueditor.config.js"></script>

这里上下几行里的src需要的话需要修改为自己对应的路径。

效果是这样的:

image.png

 

7. 前面就算是基本设置完成了文章添加的功能,接下来是回显编辑的工作了。

为了方便理解,我自己先录入了一篇文章。

地址:http://www.whatineed.我爱你/wenzhang/wen.php?title=31

在后台编辑回显的情况如下:

image.png

 

8. 开始修改编辑已录入的文章页面

<tr ><td colspan="2">

            <!-- 加载编辑器的容器 -->

                    <script id="container" name="neirong" type="text/plain">

                    </script>

                    <!-- 配置文件 -->

                    <script type="text/javascript" src="../ueditor/ueditor.config.js"></script>

                    <!-- 编辑器源码文件 -->

                    <script type="text/javascript" src="../ueditor/ueditor.all.js"></script>

                    <!-- 实例化编辑器 -->

                    <script type="text/javascript">

                        var ue = UE.getEditor('container');

                        ue.ready(function() {

                            //设置编辑器的内容

                            ue.setContent('<?php echo html_entity_decode($row['neirong']);

                            //html_entity_decode函数使mysql获取的html格式的文本按照html格式显示?>');

                            //设置编辑器高度

                            ue.setHeight(450);

                        });

                    </script>

                    </td>

</tr>

image.png 

上图添加的代码基本跟之前的无异,需要注意的是

ue.setContent('<?php echo html_entity_decode($row['neirong']);

这一行里显示的是编辑器里的内容,在我没有添加httml_entity_decode()函数之前,

输出的内容老是带着html标签输出,不知道是什么情况。那时候的情况是这样的:

image.png

 

甚至就显示在前端都是这个情况,当时都快崩溃了,经过百度没有找到解决方法,文档自己也没有找到解决方法,之后无意中发现添加这个函数之后,一切正常。

 

 

 

 

以上就是我关于这次的ueditor富文本编辑器的使用,这个富文本编辑器还有其他的功能,比如自己决定编辑框的功能,设置高度啥的,关于这个大家可以自己尝试呢。

那么本次的分享就到这里咯,大家下次见。