Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera! Preciso de um suporte, caso alguém saiba uma forma de converter, ou conheça algum componente do php. Enfim, tenho um campo no banco de dados que salva textos(formato blob), porém ele salva em formato rtfl (provindo do sistema antigo feito em VB), precisaria de um componente ou alguma função que convertesse esses dados ao extrair do banco e jogá-lo no meu campo de texto... segue o exemplo abaixo.
Desde já, Agradeço!
{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\fnil\fcharset0 Microsoft Sans Serif;}}
\viewkind4\uc1\pard\ltrpar\fi567\qj\f0\fs24 Bem, \'e9 que muitas pessoas n\'e3o tem esse problema, mas todos tem ao menos um cal\'e7ado em casa que causa o mau cheiro no cal\'e7ado, pois o contato da pr\'f3pria transpira\'e7\'e3o com o material de determinados cal\'e7ados causam o odor, al\'e9m disso ele proporciona um efeito refrescante, ent\'e3o \'e9 ideal para uso do dia-a-dia e para manter o cal\'e7ado sempre com cheiro agrad\'e1vel.\par
\pard\ltrpar\f1\fs17\par
}
achei algo que supostamente remove as tags e "limpa" o texto do rtf, segue em anexo, porém queria que essa função filtrasse na entrada do campo de texto como na imagem (anexo 1 ). Obrigado!
// Create empty stack array.
// Read the data character-by- character…
for ($i = 0, $len = strlen($filename); $i < $len; $i++) {
// If it is another backslash or nonbreaking space or hyphen,
// then the character is plain text and add it to the output stream.
if ($nc == '\\' && rtf_isPlainText($stack[$j]))
// If it is an asterisk mark, add it to the stack.
elseif ($nc == '*')
$stack[$j]["*"] = true;
// If it is a single quote, read next two characters that are the hexadecimal notation
// of a character we should add to the output stream.
elseif ($nc == "'") {
//Shift the pointer.
$i += 2;
// Since, we’ve found the alphabetic character, the next characters are control word
// and, possibly, some digit parameter.
} elseif ($nc >= 'a' && $nc <= 'z' || $nc >= 'A' && $nc <= 'Z') {
// Start reading characters after the backslash.
for ($k = $i + 1, $m = 0; $k < strlen($filename); $k++, $m++) {
$nc = $filename[$k];
// If the current character is a letter and there were no digits before it,
// then we’re still reading the control word. If there were digits, we should stop
// since we reach the end of the control word.
// Add data to the output stream if required.
if (rtf_isPlainText($stack[$j]))
// Return result.