За последние 24 часа нас посетили 63913 программистов и 1744 робота. Сейчас ищут 1600 программистов ...

Парсинг RTF

Тема в разделе "Прочие вопросы по PHP", создана пользователем Shadofff, 26 май 2011.

  1. Shadofff

    Shadofff Активный пользователь

    С нами с:
    24 мар 2011
    Сообщения:
    48
    Симпатии:
    0
    Может кто сталкивался... стоит задача заполнить RTF шаблон данными, в шаблоне, где должен быть текст вставляем спец. заполнители, затем на PHP открываем и заменяем... принцип такой:

    PHP:
    1.  
    2. ...
    3. $fio=$userdata['klfam']." ".$userdata['klname']." ".$userdata['kloth'];
    4. $ad=$userdata['nasreg']." ".$userdata['ulreg'].",".$userdata['domreg'];
    5. $fio=iconv("windows-1251", "utf-8", $fio);
    6. $ad=iconv("windows-1251", "utf-8", $ad);   
    7. $sav=$userdata['sav'];
    8.     // Сгенерировать заголовки, которые упростят браузеру
    9.     // выбор требуемого приложения для визуализации
    10.    
    11.  
    12.  
    13.    
    14.    
    15.    header( 'Content-Type: application/msword' );
    16.    header( 'Content-Disposition: inline, filename=аванс.rtf');
    17.     $date = date( 'd.m.Y' );
    18.  
    19.     // Открыть файл шаблона
    20.     $filename = 'av.rtf';
    21.     $output = file_get_contents($filename);
    22.  
    23.     // Заменить заполнители в шаблоне требуемыми данными
    24.     $output = str_replace( '<<fio>>', $fio, $output );
    25.    
    26.     $output = str_replace( '<<ad>>', $ad, $output );
    27.     $output = str_replace( '<<n>>', $_COOKIE['av'], $output );    
    28.     $output = str_replace( '<<date>>', $date, $output );
    29.     $output = str_replace( '<<sav>>', $sav, $output );
    30.    
    31.     // Отправить сгенерированный документ в браузер
    32.     $output=mb_convert_encoding($output, "Windows-1251", "utf8");
    33.     echo $output;
    34.    
    35.   }
    36. ?>
    Думаю принцип понятен, все отлично заменяется... но... есть необходимость в документе также использовать CheckBox, то есть флажки... как быть в этом случае???