Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Valdeir Info

[Resolvido] CKEditor

Recommended Posts

Olá galera, gostaria de saber como resolver esse problema.

 

Estou usando o CKEditor em uma aplicação porém ele está salvando no banco de dados assim.

 

 

<p><span style="font-size:28px;">F</span></p>

 

e eu gostaria que ficasse assim:

 

 

<p><span style="font-size:28px;">F</span></p>

 

já utilizei

 

CKEDITOR.config.basicEntities = false;
CKEDITOR.config.entities = false;
CKEDITOR.config.entities_greek = false;
CKEDITOR.config.config.entities_latin = false;
CKEDITOR.config.entities_processNumerical = true;

 

e nada de funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa! Valdeir Info,

 

primeiro você tem que ter certeza, de que é o CkEditor que está fazendo isso.. ou se é alguma rotina no seu server-side.

 

antes de salvar no banco, coloque um var_dump() no que o editor te enviou. Se não estiver em entitie, então o problema está no server-side, e não no editor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tentou resgatar a informacao do banco?

acho que o CKEDITOR faz isso mesmo.. ele grava na base nesse formato, mas qdo a informacao é lida ela é lida com os caracteres corretos.

 

nao estou certo disso mas espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa! Valdeir Info,

 

primeiro você tem que ter certeza, de que é o CkEditor que está fazendo isso.. ou se é alguma rotina no seu server-side.

 

antes de salvar no banco, coloque um var_dump() no que o editor te enviou. Se não estiver em entitie, então o problema está no server-side, e não no editor.

 

Obrigado pela resposta amigo.

Sim, o editor está enviando assim, coloquei o var_dump e ele retorna

 

<p>

iMasters</p>

 

você tentou resgatar a informacao do banco?

acho que o CKEDITOR faz isso mesmo.. ele grava na base nesse formato, mas qdo a informacao é lida ela é lida com os caracteres corretos.

 

nao estou certo disso mas espero ter ajudado.

 

Obrigado pela resposta ^^

Verdade ele grava nesse formato e quando abre com o CKEditor ele converte as string, o problema é que estou criando um template para email personalizado, onde o usuário cria seu próprio texto.

 

 

Consegui usando preg_replace para converter e depois enviar para o banco de dados, mais se alguém tiver algum outro método, ficarei agradecido. ^^

 

 

Obrigado pelas respostas William Bruno e Marcos Vilela Alves.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, uma coisa que você pode fazer é um decode antes de gravar no banco.

 

http://cl.php.net/manual/pt_BR/function.html-entity-decode.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

CKEDITOR.config.basicEntities = false;
CKEDITOR.config.entities = false;
CKEDITOR.config.entities_greek = false;
CKEDITOR.config.config.entities_latin = false;
CKEDITOR.config.entities_processNumerical = true;

 

CKEDITOR.config.config.entities_latin = false;

tem um config. sobrando nessa linha, não?

 

não sei como está implementando a library, mas acho que não precisa do prefixo CKEDITOR.

 

 

bastaria fazer

config.entities = false;

 

tente isso também:

config.protectedSource.push( /<tex[\s\S]*?\/tex>/g );
config.htmlEncodeOutput = false;
config.entities = false;

Compartilhar este post


Link para o post
Compartilhar em outros sites

já tentou usar algum tipo de codificação para ir até o banco de dados como utf8_encode?

 

Obrigado pela resposta amigo, testei aqui com o utf8_decode e utf8_encode porém a acentuação fica incorreta, ele não interpreta os acentos ã, é por exemplo.

 

ok, uma coisa que você pode fazer é um decode antes de gravar no banco.

 

http://cl.php.net/manual/pt_BR/function.html-entity-decode.php

 

Valeu amigo, funcionou perfeito.

 

CKEDITOR.config.basicEntities = false;
CKEDITOR.config.entities = false;
CKEDITOR.config.entities_greek = false;
CKEDITOR.config.config.entities_latin = false;
CKEDITOR.config.entities_processNumerical = true;

 

 

tem um config. sobrando nessa linha, não?

 

não sei como está implementando a library, mas acho que não precisa do prefixo CKEDITOR.

 

 

bastaria fazer

config.entities = false;

 

tente isso também:

config.protectedSource.push( /<tex[\s\S]*?\/tex>/g );
config.htmlEncodeOutput = false;
config.entities = false;

 

Obrigado amigo, testei assim e também não funcionou.

Resolvi testar o FCKEditor e funcionou perfeitamente, o problema é que estou usando um CMS que já vem com o CKEditor e como vou disponibilizar o módulo na internet não ficaria legal.

 

Mais uma vez obrigado pelas respostas dos amigos.

 

Resolvido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.