<MyRusakov.ru />

Создание приложений для Android с нуля

Создание приложений для Android с нуля

Данный курс научит Вас создавать приложения любой сложности для Android. Курс состоит из 16-ти разделов, из которых Вы узнаете, как создавать свои собственные приложения для Android.

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

Просмотрев данный курс и выполнив упражнения из него, Вы сможете создавать приложения любой сложности для самой популярной мобильной ОС в мире - Android.

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

Подписавшись по 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, то это подойдет.
Профиль Ответить