Quando eu salvar o span com estilo para o MySQL, o estilo é excluído

Estou usando o TinyMCE para minha input de back-end do PHP / CodeIgniter CMS. No entanto, quando uso uma cor de texto, alguns códigos não são salvos e não mostram a cor correta.

Como posso resolver este problema?

Desde já, obrigado.

Some text 

torna-se

 Some text 

no database


Alguns códigos estão aqui.

No meu controlador.

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

E no meu modelo.

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

Com CodeIgniter, se você tiver o filtro XSS ativado globalmente (configurado em seu config.php ), você descobrirá que o texto de estilo em linha HTML é removido de todas as inputs de formulário.

Para contornar isso, você pode desativar a filtragem XSS global e filtrar suas inputs de formulário TinyMCE manualmente com algo como HTML Purifier , o que lhe dá muito mais controle sobre os elementos e atributos que você gostaria de permitir.

Para o resto das inputs do formulário, você ainda pode executá-las através do filtro XSS do CodeIgniter – você precisará fazer isso manualmente, assim:

 $this->form_validation->set_rules('form_item_name', 'Field Name', 'required|xss_clean|strip_tags|trim'); 

Pode ser Você poderia fazer isso (se é o problema porque tinyMce remove alguns elementos / atributos)

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

// As seguintes linhas (dentro de tiny_mce_src.js) permitem todos os elementos e atributos se verify_html for definido como falso

 if (settings.verify_html === false) settings.valid_elements = '*[*]'; 

Referência: tinyMce

Outra referência sobre SO .