tp5使用wangedit4 富文本编辑器
未知
2023-09-18 15:52:52
0
实现的功能如下。



html页面代码:
<script type="text/javascript" src="https://unpkg.com/wangeditor@3.1.1/release/wangEditor.min.js"></script>

<div class="layui-form-item" style="position: relative;z-index: 2;">
             <label class="layui-form-label">内容</label>
             <div class="layui-input-block">
                <div id="div1"></div>
                 <textarea id="editor_content" name="body" style="display:none;"></textarea>
            </div>
   </div>


 <script type="text/javascript">
layui.use('form',function(){
            var form=layui.form;
            //监听提交事件
            form.on('submit(myform)',function(obj){
                fields=JSON.stringify(obj.field);
                $.ajax({
                    url:'__URL__/insert'
                    ,type:'post'
                    ,data:{'val':fields}                 
                    ,success:function(data){  }
                })
                return false;
            })
        })
    var E = window.wangEditor
    var editor = new E('#div1')
    var $text1 = $('#editor_content')
 
    /* 处理上传图片的controller路径 */
    editor.customConfig.uploadImgServer = "{:url('article/insertPic')}"; //上传URL
    editor.customConfig.uploadImgMaxSize = 1 * 1024 * 1024;//图片上传大小设置
    editor.customConfig.uploadImgMaxLength = 100;
    editor.customConfig.uploadFileName = 'file';//服务端接收file的名字
    editor.customConfig.uploadImgHooks = {
        customInsert: function (insertImg, result, editor) {
            // 图片上传并返回结果,自定义插入图片的事件(而不是编辑器自动插入图片!!!)
            // insertImg 是插入图片的函数,editor 是编辑器对象,result 是服务器端返回的结果
            console.log(result);
            // 举例:假如上传图片成功后,服务器端返回的是 {url:'....'} 这种格式,即可这样插入图片:
            var url =result.data;
            insertImg(url);
 
            // result 必须是一个 JSON 格式字符串!!!否则报错
        }
    }
    editor.customConfig.debug = true;
 
    editor.customConfig.onchange = function (html) {
        // 监控输入时的变化,同步更新到 textarea
        $text1.val(html)
    }
    editor.create()
    // 初始化 textarea 的值
    $text1.val(editor.txt.html())
</script>

php后台代码:

//执行添加文章
    public function insert(){
        if(request()->isPost()){

            //获取请求信息写入member表
            $req=htmlspecialchars_decode(input('val'));//实体转为字符
            $data_yp=json_decode($req,true);
            $data_yp['create_time']=time();       
            
            $result=Db::name('articles')->insert($data_yp);
            //判断
            if($result){        
                return json(['code'=>1000,'msg'=>'成功添加文章']);        
            }else {
                return json(['code'=>1001,'msg'=>'添加文章失败']);                
            }
        }

    }
//编辑器上传图片
public function insertPic(){
        $file = request()->file('file');
        //上传回调error为0
        if(empty($file)){
            $result["error"] = "1";
            $result['data'] = '';
        }else{
            // 移动到框架应用根目录/public/uploads/ 目录下
            $info = $file->move(ROOT_PATH . 'public' . DS . 'static/admin/image/editor' );
            if($info){
                $name_path =$info->getSaveName();
                //成功上传后 获取上传信息
                $name_path =str_replace('\\',"/",$info->getSaveName());
                $result["error"] = '0';
                $result['data'] = "/image/editor/".$name_path;
            }else{
                // 上传失败获取错误信息
                $result["code"] = "2";
                $result['data'] ='';
            }
        }

        return json_encode($result);

    }

相关内容

MySQL变量的生命周期管...
MySQL变量管理关键在于生命周期控制。需了解全局、会话及用户自定...
2024-11-20 20:46:37
MySQL变量的作用域与访...
摘要: MySQL变量具有作用域和访问控制,局部变量限于特定上下...
2024-11-20 20:00:40
如何使用MySQL变量进行...
本文详细介绍了MySQL中用户定义变量、系统变量和局部变量的使用方...
2024-11-20 18:46:45
动态分配MySQL变量的示...
MySQL中,变量用于存储临时数据,包括全局和会话变量以及用户定义...
2024-11-20 18:23:38
MySQL变量存储的数据类...
MySQL支持多种数据类型以存储不同种类的变量,包括数值型、字符串...
2024-11-20 18:00:48
MySQL变量在数据库操作...
MySQL变量在数据库操作中至关重要,用于存储数据、配置操作、实现...
2024-11-20 17:46:42

热门资讯

JavaScript获取当前协... JavaScript获取当前协议,域名,路径
解决Phpcms V9手机门户... 第一步:开启手机网站。位置:模块 》手机门户 》 添加手机站点,如果模块里面没有手机门户,那么就在模...
layui tooltip提示... 在layui表单中,我们想把一个标签做出提示,以标明这个表单元素是做什么有什么功能时,就可以用上提...
layui中出错Unexpec... layui中出错Unexpected identifier
如何在html中禁止复制文字 问题描述: 如何禁止别人复制自己的文章? 解决办法: 在body标签中添加以下代码: onconte...
JS实现html打印功能,打印... !DOCTYPE htmlhtmlhead meta charset=utf-8 title打印功能...
bootstrap 图片文字居... 问题描述: 让图片和文字居中显示。 解决办法: !-- style--.navbars img{ m...
bootstrap图片排版布局 问题描述: 在使用bootstrap的时候,出现了这样的问题。 排版对不齐。 解决办法: 通过上图发...
手机端底部定位 问题描述: 需要实现的效果 解决办法: !-- 底部 -- div class=layui-row ...