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);

    }

相关内容

探索 PHP sg15 在...
摘要: 本文探讨了PHP的sg15项目在Web开发中的应用,包括...
2026-02-11 01:23:34
PHP sg15 与数据库...
本文介绍了使用PHP与数据库交互的方法,特别是使用sg15框架或库...
2026-02-10 01:23:38
PHP与YAML集成:实现...
本文介绍了PHP与YAML集成的实现方式,包括读取和写入YAML文...
2026-02-03 01:23:45
探索PHP与YAML的互操...
本文探讨了PHP与YAML的互操作性,介绍了YAML的数据格式及P...
2026-02-02 01:23:35
使用PHP处理YAML数据...
本文介绍了使用PHP处理YAML数据的技巧和策略,包括解析、操作Y...
2026-02-01 01:23:40
深入理解MySQL视图的工...
摘要: MySQL视图是一种虚拟表,通过封装SQL查询定义。它不...
2026-01-31 01:23:34

热门资讯

downloadable fo... downloadable font: Glyph bbox was incorrect怎么处理
腾讯邮箱qq邮箱使用SMTP开... 第一步:登录 https://mail.qq.com/ 登录后点击设置---账号 第二步:点击【开启...
layui tooltip提示... 在layui表单中,我们想把一个标签做出提示,以标明这个表单元素是做什么有什么功能时,就可以用上提...
layui中出错Unexpec... layui中出错Unexpected identifier
解决Phpcms V9手机门户... 第一步:开启手机网站。位置:模块 》手机门户 》 添加手机站点,如果模块里面没有手机门户,那么就在模...
JavaScript获取当前协... JavaScript获取当前协议,域名,路径
JS实现html打印功能,打印... !DOCTYPE htmlhtmlhead meta charset=utf-8 title打印功能...
bootstrap 图片文字居... 问题描述: 让图片和文字居中显示。 解决办法: !-- style--.navbars img{ m...
bootstrap图片排版布局 问题描述: 在使用bootstrap的时候,出现了这样的问题。 排版对不齐。 解决办法: 通过上图发...