当我将样式的span保存到MySQL时,样式将被删除

shi*_*hin 1 php sanitization codeigniter tinymce

我使用TinyMCE作为我的PHP/CodeIgniter CMS后端输入.但是,当我使用文本颜色时,某些代码不会保存,也不会显示正确的颜色.

我怎么解决这个问题?

提前致谢.

<span style="color: #ff00ff;">Some text</span>
Run Code Online (Sandbox Code Playgroud)

<span  #ff00ff;">Some text</span>
Run Code Online (Sandbox Code Playgroud)

在数据库中


有些代码在这里.

在我的控制器中.

function _fields()
{
    $data = array(
       ....
        'content'          => $_POST['content'],
        ....
    );
    return $data;
}


function create()
{
    // We need TinyMCE, so load it
    $this->bep_assets->load_asset_group('TINYMCE');
    ...
    if ($this->input->post('name'))
    {
        $data = $this->_fields();
        $this->MKaimonokago->addItem($this->module,$data);
...
Run Code Online (Sandbox Code Playgroud)

在我的模型中.

function addItem($module,$data,$return_id=FALSE)
{
    $module_table = 'omc_'.$module;
    ...
    $this->db->insert($module_table, $data);
    ...
}
Run Code Online (Sandbox Code Playgroud)

The*_*pha 5

可能是你可以做到这一点(如果这是问题,因为tinyMce删除了一些元素/属性)

tinyMCE.init({
    mode : "exact",
    elements : "page_content",
    theme : "advanced",
    // You can use
    extended_valid_elements: "span[class|align|style]"
    // Or you can use
    verify_html : false
});
Run Code Online (Sandbox Code Playgroud)

//如果verify_html设置为false,则以下行(tiny_mce_src.js内部)允许所有元素和属性

if (settings.verify_html === false)
    settings.valid_elements = '*[*]';
Run Code Online (Sandbox Code Playgroud)

参考: tinyMce

关于SO的另一个参考.