Ejemplo n.º 1
0
 function fontTable()
 {
     $fontTable = $this->section('fonttbl');
     $lexer = new JoshRibakoff_Note_BraceLexer();
     $lexer->setRTF($fontTable);
     $tree = $lexer->tokenize();
     array_shift($tree);
     $return = array();
     foreach ($tree as $treeItem) {
         preg_match('#^\\\\(f[0-9]+)(\\\\.*?);#s', $treeItem[0], $match);
         $return[$match[1]] = $this->removeNewLines($match[2]);
     }
     return $return;
 }
Ejemplo n.º 2
0
    function testShouldLexRTFDataFromJoshRibakoff()
    {
        $note = new JoshRibakoff_Note_BraceLexer();
        $note->setRTF('\\rtf1\\ansi\\ansicpg1251\\deff0\\deflang1049{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft Sans Serif;}{\\f1\\fnil\\fcharset204 Microsoft Sans Serif;}}
{\\colortbl ;\\red0\\green255\\blue0;\\red0\\green128\\blue192;\\red255\\green0\\blue0;}
\\viewkind4\\uc1\\pard\\lang1033\\f0\\fs17 4/4/2013 11:17:03 AM - jribakoff: black\\par
\\cf1 4/4/2013 11:16:59 AM - jribakoff: note 8 (green for money)\\par
\\cf0 4/4/2013 11:16:50 AM - jribakoff: note 7\\par
\\cf2 4/4/2013 11:16:47 AM - jribakoff: note 6 (really blue)\\par
\\cf0 4/4/2013 11:16:34 AM - jribakoff: note 6 ( blue)\\par
4/4/2013 11:15:36 AM - jribakoff: note 5\\par
\\cf3 4/4/2013 11:15:33 AM - jribakoff: note 4 (red)\\par
\\cf0 4/4/2013 11:15:23 AM - jribakoff: note 3\\par
4/4/2013 11:15:21 AM - jribakoff: note 2\\par
4/3/2013 2:47:03 PM - jribakoff: simple text\\par
\\lang1049\\f1\\par');
        $expected = array('\\rtf1\\ansi\\ansicpg1251\\deff0\\deflang1049', array('\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft Sans Serif;}{\\f1\\fnil\\fcharset204 Microsoft Sans Serif;}'), "\n", array('\\colortbl ;\\red0\\green255\\blue0;\\red0\\green128\\blue192;\\red255\\green0\\blue0;'), "\n" . '\\viewkind4\\uc1\\pard\\lang1033\\f0\\fs17 4/4/2013 11:17:03 AM - jribakoff: black\\par
\\cf1 4/4/2013 11:16:59 AM - jribakoff: note 8 (green for money)\\par
\\cf0 4/4/2013 11:16:50 AM - jribakoff: note 7\\par
\\cf2 4/4/2013 11:16:47 AM - jribakoff: note 6 (really blue)\\par
\\cf0 4/4/2013 11:16:34 AM - jribakoff: note 6 ( blue)\\par
4/4/2013 11:15:36 AM - jribakoff: note 5\\par
\\cf3 4/4/2013 11:15:33 AM - jribakoff: note 4 (red)\\par
\\cf0 4/4/2013 11:15:23 AM - jribakoff: note 3\\par
4/4/2013 11:15:21 AM - jribakoff: note 2\\par
4/3/2013 2:47:03 PM - jribakoff: simple text\\par
\\lang1049\\f1\\par');
        $actual = $note->tokenize();
        $this->assertEquals($expected, $actual, 'should lex valid RTF data');
    }
Ejemplo n.º 3
0
Archivo: Note.php Proyecto: alipek/rtf
 function convertBracesToArray($rtf)
 {
     $braceLexer = new JoshRibakoff_Note_BraceLexer();
     $braceLexer->setRTF($rtf);
     return $braceLexer->tokenize();
 }