sav_smolensk
Новичок
Дата регистрации:
27.02.2017 21:30:36
Сообщений: 1
Код замены:
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, то это подойдет.