Salvando Texto Formatado Em Banco de Dados ‘tinyMCE’

29 07 2008

Se você esta usando o tinyMCE e está tendo problemas com o salvamento de texto formatado no banco de dados ai vai a solução para os seus problemas:


/**
* rteSafe
*
* @abstract Limpa as aspas simples do código HTML, se isto o richeditor da pau
* pois as aspas não tem scape
*/
function rteSafe($strText) {
//returns safe code for preloading in the RTE
$tmpString = $strText;
//convert all types of single quotes
$tmpString = str_replace(chr(145), chr(39), $tmpString);
$tmpString = str_replace(chr(146), chr(39), $tmpString);
$tmpString = str_replace("'", "'", $tmpString);
//convert all types of double quotes
$tmpString = str_replace(chr(147), chr(34), $tmpString);
$tmpString = str_replace(chr(148), chr(34), $tmpString);
//replace carriage returns & line feeds
$tmpString = str_replace(chr(10), " ", $tmpString);
$tmpString = str_replace(chr(13), " ", $tmpString);
return $tmpString;
}

Basta passar o seu texto formatado por esta função antes de mandar para a SQL que faz a inserção no banco de dados, por exemplo:

$textoFormatado = rteSafe($textoFormatado);


Ações

Information

6 responses

6 08 2008
marcinho degauss brasil

show de bola funfo certinho

4 02 2009
Eduardo

Não funcionou.
se vc colocar aspas simples e aspas duplas dá erro, e há uma substituição por ele mesmo aqui na linha 14 :
$tmpString = str_replace(”‘”, “‘”, $tmpString);
😀

6 02 2009
Eduardo

Resolvido dessa forma.

$corpo = str_replace(“\\\””, “\””, $corpo);
$corpo = str_replace(“\\'”, “””, $corpo);

Importante adicionar o \” no corpo com aspas duplas.
$sql = mssql_query(“INSERT INTO int_noticias (titulo,corpo, datahora) VALUES(‘$titulo’, \”$corpo\”, GETDATE() )”);

8 09 2010
Vinicius Oliveira

Obrigado pela dica amigo! estava pesquisando por esta correção e funcionou perfeitamente!

16 11 2010
Lucas

Cara.. não funfou aqui não.

Não entendi essa sua alteração:

$corpo = str_replace(“\\\””, “\””, $corpo);
$corpo = str_replace(“\\’”, “””, $corpo);

Qualquer coisa… se puder explicar ai…

4 07 2011
Erick

Olá pessoal, achei muito bom esse Tiny, mas está me custando dias de trabalho, fiz a instalação e funciona perfeito, mas o conteúdo do textarea é inserido no BD com ASCII creio eu, por exemplo, se escrevo Pará no tiny, quando grava do BD fica Par&aacute, dai meu sistema de busca dança bonito.
Alguém tem uma solução para isso?

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: