尝试使用summernote Editor将图像URL保存到数据库时删除了样式属性

时间:2016-04-29 05:28:59

标签: jquery codeigniter summernote

我正在使用Summernote编辑器将文本和图像保存到db.Currently我已经在Codeigniter中嵌入了summernote,所以我将图像文件上传到服务器,然后检索回来并将图像插入编辑器。现在根据文档,我们可以调整上传到服务器的图像的大小,并可以将CSS应用于图像。

插入代码并应用显示完美结果的Css。注意data-filename属性正在保存。

 $('#summernote').summernote('insertImage', objFile, function ($image) {
                        $image.css('width', $image.width() / 3);
                        $image.attr('data-filename', 'retriever');
                    });

一切都很好,除非我提交表单时,样式属性会从img标签中删除,其余数据会被保存。

我的控制器功能我将数据保存到数据库。

if($this->input->post())
        {
            var_dump($_POST);
            $this->data=array(
            'PageID'=>$this->input->post('PageID'),
            'Title'=>$this->input->post('Title'),
            'Description'=>$this->input->post('Description'),
            'Text'=>$this->input->post('Text'),
            'CreatedBy' => 1,
            'CreatedDate' => date('Y-m-d'),
            'UpdatedBy' => 1,
            'IsActive' => 1,
            'IsDeleted' => 0
            );

            $Where=array('PageID'=>$this->input->post('PageID'));
            $Result=$this->model->insert('pagedata',$this->data,'ID',$this->input->post('PageID'),$Where);
            if($Result)
            {
                $this->session->set_flashdata('Success',"Page Updated Successfully");
                $Path=previousURL();
                redirect($Path);
            }
            else
            {
                $this->session->set_flashdata('Error',"Sorry Couldnt Update The Page");
                $Path=previousURL();
                redirect($Path);
            }
        }

注意在var_dump中我看到style属性应用于img但是当数据到达db时,style属性不存在我的问题是style标记在db应用于图像时没有保存在db中上传他们我想说它存在

1 个答案:

答案 0 :(得分:0)

您面临的问题是由codeigniter xss过滤引起的,它会从图像字符串中删除或删除样式属性,而不是将数据传递给db。将$this->input->post('TextAreaName')更改为$_POST['TextAreaName']并希望您的问题能得到解决