lib/PHPRtfLite/Element.php
public static function convertTagsToRtf($text, $charset)
    {
        $search = array(
            // bold
            '|<STRONG\s*>(.*?)</STRONG\s*>|smi',
            '|<B\s*>(.*?)</B\s*>|smi',
            // italic
            '|<EM\s*>(.*?)</EM\s*>|smi',
            '|<I\s*>(.*?)</I\s*>|smi',
            // underline
            '|<U\s*>(.*?)</U\s*>|smi',
            // break
            '|<BR\s*(/)?\s*>|smi',
            '|<LINE\s*(/)?\s*>|smi',
            // horizontal rule
            '|<HR\s*(/)?\s*>|smi',
            '|<CHDATE\s*(/)?\s*>|smi',
            '|<CHDPL\s*(/)?\s*>|smi',
            '|<CHDPA\s*(/)?\s*>|smi',
            '|<CHTIME\s*(/)?\s*>|smi',
            '|<CHPGN\s*(/)?\s*>|smi',
            // tab
            '|<TAB\s*(/)?\s*>|smi',
            // bullet
            '|<BULLET\s*(/)?\s*>|smi',
            '|<PAGENUM\s*(/)?\s*>|smi',
            '|<PAGETOTAL\s*(/)?\s*>|smi',
            '|<SECTNUM\s*(/)?\s*>|smi',
            '|<SUP\s*>(.*?)</SUP\s*>|smi',
            '|<SUB\s*>(.*?)</SUB\s*>|smi',
//            '|<PAGE\s*(/)?\s*>|smi',
//            '|<SECT\s*(/)?\s*>|smi'
        );

        $replace = array(
            // bold
            '\b \1\b0 ',
            '\b \1\b0 ',
            // italic
            '\i \1\i0 ',
            '\i \1\i0 ',
            // underline
            '\ul \1\ul0 ',
            // break
            '\line ',
            '\line ',
            // horizontal rule
            '{\pard \brdrb \brdrs \brdrw10 \brsp20 \par}',
            '\chdate ',
            '\chdpl ',
            '\chdpa ',
            '\chtime ',
            '\chpgn ',
            // tab
            '\tab ',
            // bullet
            '\bullet ',
            '\chpgn ',
            '{\field {\*\fldinst {NUMPAGES }}}',
            '\sectnum ',
            '{\super \1\super0}',
            '{\sub \1\sub0}',
//            '\page ',
//            '\sect '
        );

        $text = preg_replace($search, $replace, $text);
        $text = html_entity_decode($text, ENT_COMPAT, $charset);

        return $text;
    }
public static function convertTagsToRtf($text, $charset)
    {
        $search = array(
            // bold
            '|<STRONG\s*>(.*?)</STRONG\s*>|smi',
            '|<B\s*>(.*?)</B\s*>|smi',
            // italic
            '|<EM\s*>(.*?)</EM\s*>|smi',
            '|<I\s*>(.*?)</I\s*>|smi',
            // underline
            '|<U\s*>(.*?)</U\s*>|smi',
            // break
            '|<BR\s*(/)?\s*>|smi',
            '|<LINE\s*(/)?\s*>|smi',
            // horizontal rule
            '|<HR\s*(/)?\s*>|smi',
            '|<CHDATE\s*(/)?\s*>|smi',
            '|<CHDPL\s*(/)?\s*>|smi',
            '|<CHDPA\s*(/)?\s*>|smi',
            '|<CHTIME\s*(/)?\s*>|smi',
            '|<CHPGN\s*(/)?\s*>|smi',
            // tab
            '|<TAB\s*(/)?\s*>|smi',
            // bullet
            '|<BULLET\s*(/)?\s*>|smi',
            '|<PAGENUM\s*(/)?\s*>|smi',
            '|<PAGETOTAL\s*(/)?\s*>|smi',
            '|<SECTNUM\s*(/)?\s*>|smi',
            '|<SUP\s*>(.*?)</SUP\s*>|smi',
            '|<SUB\s*>(.*?)</SUB\s*>|smi',
//            '|<PAGE\s*(/)?\s*>|smi',
//            '|<SECT\s*(/)?\s*>|smi'
        );

        $replace = array(
            // bold
            '\b \1\b0 ',
            '\b \1\b0 ',
            // italic
            '\i \1\i0 ',
            '\i \1\i0 ',
            // underline
            '\ul \1\ul0 ',
            // break
            '\line ',
            '\line ',
            // horizontal rule
            '{\pard \brdrb \brdrs \brdrw10 \brsp20 \par}',
            '\chdate ',
            '\chdpl ',
            '\chdpa ',
            '\chtime ',
            '\chpgn ',
            // tab
            '\tab ',
            // bullet
            '\bullet ',
            '\chpgn ',
            '{\field {\*\fldinst {NUMPAGES }}}',
            '\sectnum ',
            '{\super \1\super0}',
            '{\sub \1\sub0}',
//            '\page ',
//            '\sect '
        );

        $text = preg_replace($search, $replace, $text);
        $text = html_entity_decode($text, ENT_COMPAT, $charset);

        return $text;
    }
public static function convertTagsToRtf ( $ text , $ charset ) { $ search = array ( // bold '|<STRONG\s*>(.*?)</STRONG\s*>|smi' , '|<B\s*>(.*?)</B\s*>|smi' , // italic '|<EM\s*>(.*?)</EM\s*>|smi' , '|<I\s*>(.*?)</I\s*>|smi' , // underline '|<U\s*>(.*?)</U\s*>|smi' , // break '|<BR\s*(/)?\s*>|smi' , '|<LINE\s*(/)?\s*>|smi' , // horizontal rule '|<HR\s*(/)?\s*>|smi' , '|<CHDATE\s*(/)?\s*>|smi' , '|<CHDPL\s*(/)?\s*>|smi' , '|<CHDPA\s*(/)?\s*>|smi' , '|<CHTIME\s*(/)?\s*>|smi' , '|<CHPGN\s*(/)?\s*>|smi' , // tab '|<TAB\s*(/)?\s*>|smi' , // bullet '|<BULLET\s*(/)?\s*>|smi' , '|<PAGENUM\s*(/)?\s*>|smi' , '|<PAGETOTAL\s*(/)?\s*>|smi' , '|<SECTNUM\s*(/)?\s*>|smi' , '|<SUP\s*>(.*?)</SUP\s*>|smi' , '|<SUB\s*>(.*?)</SUB\s*>|smi' , //            '|<PAGE\s*(/)?\s*>|smi', //            '|<SECT\s*(/)?\s*>|smi' ) ; $ replace = array ( // bold '\b \1\b0 ' , '\b \1\b0 ' , // italic '\i \1\i0 ' , '\i \1\i0 ' , // underline '\ul \1\ul0 ' , // break '\line ' , '\line ' , // horizontal rule '{\pard \brdrb \brdrs \brdrw10 \brsp20 \par}' , '\chdate ' , '\chdpl ' , '\chdpa ' , '\chtime ' , '\chpgn ' , // tab '\tab ' , // bullet '\bullet ' , '\chpgn ' , '{\field {\*\fldinst {NUMPAGES }}}' , '\sectnum ' , '{\super \1\super0}' , '{\sub \1\sub0}' , //            '\page ', //            '\sect ' ) ; $ text = preg_replace ( $ search , $ replace , $ text ) ; $ text = html_entity_decode ( $ text , ENT_COMPAT , $ charset ) ; return $ text ; }
converts text tags into rtf code

@param  string $text
@param  string $charset
@return string
converts text tags into rtf code