<MyRusakov.ru />

Вёрстка сайта с нуля

Вёрстка сайта с нуля

Это уникальная информация по созданию страниц любой сложности. Вы узнаете всё, что нужно по HTML и CSS, а также увидите множество примеров по вёрстке страниц. А также почти к каждому уроку идут упражнения для закрепления материала, поэтому в отличном результате можете быть уверены! Пройдя данный курс, Вы сможете верстать страницы с любым по сложности дизайном. Помимо курса, Вы получите Бонус, который расскажет, как заработать на вёрстке сайтов.

Весь курс соткан из практических примеров реальной вёрстки. А также почти к каждому уроку идут упражнения для закрепления материала, поэтому в отличном результате можете быть уверены!

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Замена строки в rtf средствами php
27.02.2017 21:42:10 Замена строки в rtf средствами php Сообщение #1
sav_smolensk

sav_smolensk

Новичок

Новичок

Дата регистрации:
27.02.2017 21:30:36

Сообщений: 1

Задача: есть шаблон документа в формате rtf. Нужно заменить строки на латинице русскими словами, полученными из формы.
Код замены:
function RTFgen($replacements) {

    //  генерация  заголовков,  призванных облегчить  браузеру выбор
    // требуемого приложения
    header ( "Content-type: application/msword" ) ;
    header ( "Content-Disposition: inline, filename=template.rtf";
    // открытие файла шаблона
    $filename = "./doc/temp.rtf";
    $fp = fopen ('./doc/temp.rtf', 'r';
    // считывание шаблона в переменную
    $output = fread( $fp, filesize($filename) );
    fclose ($fp);
    //  замещение заполнителей в шаблоне данными
    foreach ($replacements as $key => $value) {
        $value = strToHexByRtf($value, $sEncoding = 'utf-8';
        $output = str_replace( "$key", $value, $output );       
    }

    //  отправка сгенерированного документа в браузер
    echo $output;
}

function strToHexByRtf($sString, $sEncoding = 'utf-8' {
    $sString = iconv($sEncoding, 'Windows-1251', $sString);
    $sString = preg_replace("/([a-zA-Z0-9]{2})/", "\'$1", bin2hex($sString));
    return $sString;
}
Код все заменяет, но вместо замененных русских букв- кракозябры.
Сам понимаю, что проблема с кодировками и языками. Как решить?

Формат шаблона и выходного файла- не важен. Если есть готовые решения для doc, docx, pdf, то это подойдет.
Профиль Ответить